Spring源码
tinygodd
快乐编码
展开
-
jdk动态代理之java弱引用
弱引用弱引用也是用来描述非必须对象的,他的强度比软引用更弱一些,被弱引用关联的对象,在垃圾回收时,如果这个对象只被弱引用关联(没有任何强引用关联他),那么这个对象就会被回收。/*** 弱引用关联对象何时被回收* Created by ccr at 2018/7/14.*/public class WeakReferenceDemo {public static void main(String[] args) throws InterruptedException {//原创 2020-07-17 12:45:27 · 353 阅读 · 0 评论 -
JDK动态代理中的WeakCache解析
WeakCache解析 它是一个具有二级缓存的弱引用类,一级缓存的key是弱引用,二级缓存是强引用。其中key是根据入参直接传入的,二级缓存的key和value都是是根据一级缓存的key和value通过各自的工厂方法(subKeyFactory和valueFactory)计算得到的。当弱引用被clear后,entries会被以惰性(lazily)方式被删除。 在动态代理中,一级缓存是根据classloader生成的map,二级缓存是根据classloader和接口类数组生...原创 2020-07-17 12:43:58 · 581 阅读 · 0 评论 -
JDK动态代理机制分析
参考: https://developer.ibm.com/zh/articles/j-lo-proxy1/环境:jdk 1.8.0_201引言 本来是准备研究Spring源码,其中AOP部分对于普通接口类是通过JDK动态代理来实现的,所以顺便研究了动态代理的运行机制和特点,发现网上文章搜出来讲的都不太明白,所以本文结合原理和代码分析,对动态代理进行阐述。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。 Java 动态代理机制的出...原创 2020-07-13 12:38:19 · 419 阅读 · 0 评论 -
Spring源码环境搭建
每个人环境可能不太一样,如有问题欢迎在下方留言 环境 IDEA版本:IntelliJ IDEA 2019.3.4 x64操作系统:WIndow10Java版本:1.8.0_201构建工具:IDEA内置GradleSpringFramework版本:5.3.0-SNAPSHOT 源码下载 源码位于git上,自行下载 https://github.com/spring-projects/spring-framework,我这里用的master版本(5.3.0-SNA..原创 2020-06-22 11:14:53 · 1706 阅读 · 9 评论