![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
VilderLee
嘻嘻
展开
-
ArrayList关键源码分析
ArrayList源码分析1.数据结构: 实现了List接口。 根据语义可知是由数组线性表;有序。 非线程安全,没有加锁,没有CAS处理。 2.全局变量 //1.默认长度 private static final int DEFAULT_CAPACITY = 10; //2.给空实例用的数组 private static final Object[] EMPTY_ELEMENT...原创 2019-01-11 15:08:22 · 132 阅读 · 0 评论 -
ReetrantLock简单分析
ReetrantLock关键方法分析构造方法//非公平锁public ReentrantLock() { sync = new NonfairSync();}//可以通过传入的值确认非公平锁和公平锁public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync();...原创 2019-01-29 09:41:04 · 342 阅读 · 0 评论 -
Cglib动态代理
Cglib动态代理简介cglib动态代理是通过字节码技术实现创建代理对象的一个技术。它跟jdk动态代理最大的区别就是不需要被代理类实现接口,但是无法final方法无法进行代理操作。代码实现1.需要监控行为处理的类实现MethodInterceptor接口public class MethodInvocationHander implements MethodInterceptor {...原创 2019-02-22 11:34:39 · 155 阅读 · 0 评论 -
Jdk动态代理
代理模式的本质:监控行为特征JDK动态代理实现1.接口角色:定义所有需要被监听行为2.接口实现类:定义实现被监听对象3.通知类:1)对次要业务进行具体实现2)通知JVM,当前被拦截的主要业务方法与次要业务方法应该如何绑定4.监控对象(代理对象)1)被监控实例对象2)需要被监控的行为3)具体通知类实例对象代码实现1.定义一个要监控的行为—>接口public int...原创 2019-02-22 11:35:02 · 144 阅读 · 0 评论