自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 linux命令

linux命令启动jar(当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出)java -jar XXX.jar后台运行启动jar(当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行)java -jar XXX.jar &不挂断启动jar(当账户退出或终端关闭时,程序仍然运行)nohup java -jar XXX.jar &查看某端口占用的线程的pid(8080代表端口)netstat -nlp |grep :8080查看当前运行的jar

2021-05-02 17:48:01 133

原创 分批导出,从模板方法模式到代理模式

分批导出,从模板方法模式到代理模式1. 普通分页导出的写法service里共有3个方法export为导出的方法getTotal是根据查询条件查询数据的总条数getData是根据查询条件分页查询数据其中getTotal和getData为业务方法,自己模拟了一些数据@Servicepublic class Service1 { //每页查询的数量 private final int PAGESIZE = 20; //最大的页码 private final int

2021-04-12 20:28:14 274

原创 分页导出,防止内存溢出

分页导出,防止内存溢出1.定义模板方法类/** * 分页导出模板 * * T 为查询参数 需要有 PageNo 和 PageSize * R 为查询结果,导出的对象 */public abstract class PagingExportTemplate<T extends BasicQueryEntity,R> { private static final Logger log = LoggerFactory.getLogger(PagingExportTempl

2021-03-22 10:30:27 339

原创 Spring中观察者模式的应用

Spring中观察者模式的应用Spring里的ApplicationListen相当于观察者;ApplicationEventPublisher可看作被观察对象。当需要实现通知多个观察者的操作时可使用Spring里的ApplicationEventPublishe。观察者的操作可同步也可异步。@Servicepublic class MyService { /** * S...

2020-04-16 13:47:41 340

原创 Spring各层拦截的顺序

Spring各层拦截的顺序

2020-04-15 20:35:22 120

原创 BeanFactory和ApplicationContext的区别

Spring容器:BeanFactory和ApplicationContext的区别BeanFactory在初始化容器时,并未创建Bean实例,其采用的是延迟加载。ApplicationContext在初始化容器时,就创建了所有单例的Bean,其是BeanFactory的子类,对父类进行了扩展,增加了更多的功能。如果一个Bean的某一个属性无法注入成功,BeanFactory只有在第一次使用...

2020-04-15 17:52:51 164

原创 Spring中Bean的生命周期

Spring中Bean的生命周期1.实例化Bean(相当于new)2.设置对象的属性(依赖注入)3.检查Aware相关接口,并设置相关依赖public class MyBean implements BeanNameAware { @Override public void setBeanName(String s) { }}4.如果Bean实现了BeanP...

2020-04-15 17:23:02 116

原创 Spring装配Bean的方式和依赖注入的方式

Spring装配Bean的方式和依赖注入的方式装配Bean的方式1.通过注解自动化装配Bean使用@Component注解Bean,使用@ComponentScan注解配置类@Componentpublic class MyBean {}-------------------------------------------------------------------@Config...

2020-04-15 14:50:33 310

原创 Spring一个接口多个实现时的自动注入方式

Spring一个接口多个实现时的自动注入方式public interface ParentService { void method();}------------------------------------------------------------------@Component("children1")public class ChildrenService1 i...

2020-04-15 12:47:46 654

原创 贪心算法

贪心算法求活动最大数有若干个活动,每个活动有开始时间和结束时间,只有一个教室,活动之间不能交叠,求最多安排多少个活动? public static class Activity { int start;//活动开始时间 int end;//活动结束时间 } //贪心算法,每次取可相容的活动中结束时间最早的那个,为剩下的活动留下更多的可选时...

2020-03-24 13:34:35 260

原创 删除重复节点

删除重复节点删除一个已排序链表中的重复节点 public static class ListNode { int val; ListNode next = null; } private static ListNode method(ListNode head) { ListNode pre = new ListNo...

2020-03-24 10:09:58 321

原创 背包问题

背包问题01背包有4个物品,它们有各自的重量(2,3,4,5)和价值(3,4,5,6),现有给定可装重量为8的背包,如何让背包里装入的物品具有最大的价值总和?设物品1重量为2,价值为3,物品2。。。。dp[i][j] 表示有物品1到i可供选择时,背包可装重量为j时,可得到的最大价值。 //value[]物品价值,weight[]物品重量,weight[]背包容量 publi...

2020-03-23 14:24:20 377 1

原创 卡特兰数问题

卡特兰数问题卡特兰数组:1,1,2,5,14,42,132 。。。。。。公式:f(n) = f(0)*f(n-1) + f(1)*f(n-2) + ... + f(n-1)*f(0) = C(2n,n) / (n+1) = C(2n,n) - C(2n,n-1)f(0)=1,f(1)=1,f(2)=2,f(3)=5问题一 出栈问题已知进栈顺序AB...

2020-03-22 18:08:29 628

原创 synchronized锁升级

synchronized锁升级无锁->偏向锁当一个对象刚实例化时,没有线程来访问它,这时这个对象是可偏向的。当第一个线程来访问它时,线程查看该对象的Mark Word(对象头里的数据结构)里是否有指向自己的线程id。这时没有,线程会使用CAS操作修改Mark Word的状态为偏向锁并且将Mark Word的线程id指向自己。线程下一次来访问时,检查到有自己的id就可以直接使用了,使用偏向...

2020-03-18 22:04:01 139

原创 Volatile笔记

Volatile笔记volatile(《Java并发编程的艺术 》)实现线程对volatile变量修改的可见性原理: 如果对volatile变量进行写操作,JVM会向处理器发送Lock前缀的指令,将这个变量所在的缓存行的数据刷新到主内存。一个处理器的缓存回写到内存会导致其他处理器的缓存无效。volatile写的内存语义:写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量...

2020-03-18 13:23:48 117

原创 String的指向(jdk1.8)

String的指向 public static void main(String[] args) { String str1 = new String("1");//在字符串常量池创建一个引用,在堆中创建两个对象"1",字符串常量池的引用指向其中一个对象"1",str1指向另一个对象"1" str1.intern();//查看字符串常量池里是否有指向"1"的引用,...

2020-03-17 22:59:56 176

原创 Java自动装箱的陷阱

Java自动装箱的陷阱 public static void main(String[] args) {//jdk1.8 Integer a =1; Integer b =2; Integer c=3; Integer d =3; Integer e = 321; Integer f = 321; ...

2020-03-17 15:55:36 189

原创 Java线程状态

Java线程状态在操作系统层面线程有5种状态新建状态(New)线程创建,但没有启动新建状态->就绪状态:线程启动就绪状态(Ready)线程启动,但还没有获得CPU时间片就绪状态->运行状态:线程获得时间片,被CPU执行运行状态(Runninng)线程被CPU执行运行状态->就绪状态:线程时间片耗尽或者主动放弃当次时间片阻塞状态(Blocked)同步阻塞:...

2020-03-16 20:41:47 143

原创 策略模式优化过多的if else 代码

策略模式-应用利用反射+策略模式优化过多的if else 代码注解@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface HandlerType { String value();}策略抽象类public abstract class AbstractStategy {...

2020-03-14 19:46:10 330

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除