- 博客(5)
- 收藏
- 关注
原创 Java的类加载
clinit>()方法对于类或接口来说并不是必需的,如果一个类中没有静态语句块,也没有对变量的赋值操作,那么编译器可以不为这个类生成<clinit >()方法。当使用 JDK 1.7 的动态语言支持时,如果一个 java.lang.invoke.MethodHandle 实例最后的解析结果REF_getStatic、REF_putStatic、REF_invokeStatic的方法 句柄,并且这个方法句柄所对应的类没有进行过初始化,则需要先触发其初始化。
2024-11-19 10:25:52
1935
1
原创 obtainFreshBeanFactory()详解
/为容器初始化做准备,重要程度:0//重要程度:5/** 给beanFactory设置一些属性值,可以不看* */try {//空方法 用于自己写一个类 继承AbstractApplicationContext 后 重写postProcessBeanFactory//可以获取到beanFactory 然后自己做一些定制化的操作 类似于BeanFactory的后置处理器/** 完成对这两个接口的调用。
2024-11-19 10:24:32
1166
原创 构建spring maven运行工程
这个时候,我们通过点击ClassPathXmlApplicationContext 再进去,看到的就是spring-context的源码啦。同样修改的还有Sources这个文件夹,这个就选中spring源码的对应moudle文件夹即可。同样处理的还有spring-context( 其实就是想看谁的源码就替换谁,over)选中本地路径下的spring源码的对应moudle的lib下的jar。点击ok,然后将maven自己下载的删除,删除点击-
2024-11-19 10:23:20
399
原创 构建一个简单的Spring源码工程
在setting文件中,将repositories 修改为以下内容。然后点finish,然后等着,然后成功以后的截图就是这样的。配置gradle的环境变量,新增GRADLE_HOME。在maven仓库的指向中增加国内的aliyun。使用git获取Spring源码。
2024-11-19 10:21:52
443
原创 TreeMap红黑树解析 (1)
TreeMap完全是红黑树实现的, 是由Josh Bloch 和 Doug Lea两位并发领域的大师共同完成,https://www.cs.usfca.edu/~galles/visualization/RedBlack.html 这个外网可以演示标准红黑树的执行过程。 标准红黑树:删除操作找前驱节点替代原删除节点 TreeMap: 删除操作找后继节点替代原删除节点这两种方案实际操作效果是一样的,只不过树的结构不一样,但是对应的红黑 树都是平衡的,在此,先说一下红黑树的性质,以便后续使用。
2024-11-19 10:21:20
1233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人