- 博客(5)
- 收藏
- 关注
原创 Spring 循环依赖
循环依赖:如果使用构造函数注入,则可能创建无法解决的循环依赖,所以尽量使用构造set方法注入。 1.构造函数 @Component public class ServiceA { private ServiceB serviceB; public ServiceA(ServiceB serviceB) { this.serviceB = serviceB; } } @Component public class ServiceB { privat
2021-11-22 00:13:56 190
原创 静态代理和动态代理
一.静态代理 被代理类: 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 46
原创 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 339
转载 Spring的IOC
IOC(Inversion of Control,即“控制反转”),或者叫(DI),不是什么技术,而是一种设计思想。 ●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。 ●为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控
2021-11-07 21:04:51 61
原创 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 105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人