- 博客(5)
- 收藏
- 关注
原创 Spring 循环依赖
循环依赖:如果使用构造函数注入,则可能创建无法解决的循环依赖,所以尽量使用构造set方法注入。1.构造函数@Componentpublic class ServiceA { private ServiceB serviceB; public ServiceA(ServiceB serviceB) { this.serviceB = serviceB; }}@Componentpublic class ServiceB { privat
2021-11-22 00:13:56 196
原创 静态代理和动态代理
一.静态代理被代理类:public class Customer { public void buyComputer() { System.out.println("买个机械师"); }}静态代理类:public class StaticBuyComputer { private Customer customer; public StaticBuyComputer() { } public StaticBuyCom
2021-11-15 00:05:46 51
原创 FullGC和OOM排查思路
1.打印日志或者或者获取dump文件2.MAT分析3.修改验证获取dump文件需要配置JVM参数,-XX:+PrintGCDetails-XX:+UseConcMarkSweepGC-Xmx20m-Xms20m-XX:+HeapDumpOnOutOfMemoryErroy-XX:HeapDumpBeforeFullGC-XX:HeapDumpAfterFullGC-XX:HeapDumpPath=C:\User\pandaDesttop...
2021-11-14 22:39:07 347
转载 Spring的IOC
IOC(Inversion of Control,即“控制反转”),或者叫(DI),不是什么技术,而是一种设计思想。●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。●为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控
2021-11-07 21:04:51 68
原创 ConcurrentHashMap原理,在JKD7和JDK8版本的区别
JDK7:数据结构:ReentrantLock+Segment+HashEntry,一个Segment中包含一个HashEntry数组,每个HashEntry又是一个链表结构元素查询:二次hash,第一次hash定位到segment,第二次hash定位到元素所在的链表的头部锁:Segment分段锁,Segment继承了ReentrantLock,锁定操作的Segment,其他Segment不受影响,并发度为Segment个数,可以通过构造函数指定,数组扩容不会影响其他的segment。g
2021-11-05 23:55:17 112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人