- 博客(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
原创 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关注的人