摘要: 说明: 本文基于Spring-Framework 5.1.x版本讲解 概述 说起生命周期, 很多开源框架、中间件的组件都有这个词,其实就是指组件从创建到销毁的过程。 那这里讲Spring Bean的生命周期,并不是讲Bean是如何创建的, 而是想讲下Bean从实例化到销毁,Spring框架在Bean 阅读全文
posted @ 2022-12-03 19:37 林一gg 阅读(254) 评论(0) 推荐(2) 编辑
摘要: 说明: 1. 本文基于Spring-Framework 5.1.x版本讲解 2. 建议读者对Mybatis有基本的使用经验 概述 这一篇我们讲讲org.springframework.beans.factory.FactoryBean接口,这个接口功能非常强大,可以集成不同的中间件或组件到Sprin 阅读全文
posted @ 2022-12-04 17:37 林一gg 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 说明: 1. 本文基于Spring-Framework 5.1.x版本讲解 2. 建议读者对创建对象部分源码有一定了解 概述 这篇讲讲Spring循环依赖的问题,网上讲循环依赖的帖子太多太多了,相信很多人也多多少少了解一点,那我还是把这个问题自己梳理一遍,主要是基于以下出发点: 1. Spring到 阅读全文
posted @ 2022-12-04 10:54 林一gg 阅读(326) 评论(0) 推荐(2) 编辑
摘要: 参考资料(官方) Mybatis官方文档: https://mybatis.org/mybatis-3/ Mybatis-Parent : https://github.com/mybatis/parent.git Mybatis-3 : https://github.com/mybatis/myb 阅读全文
posted @ 2021-09-01 16:39 林一gg 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 解释 在java中也有引用的概念,其实就可以认为是变量。标题中的引用级别是指变量与对象之前的引用级别。java中分为4种,按引用强弱关系排序分别是:强引用、软引用、弱引用、虚引用。 强引用(Strong references) 特点:当JVM内存满了之后也不会断开引用关系,即使是发成OOM 我们平时 阅读全文
posted @ 2020-07-19 19:45 林一gg 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 内存布局 JVM内存大概分为几块区域:堆、栈、程序计数器、MetaSpace元空间、直接内存区,见下图 线程级内存区域:栈、程序计数器,堆与操作系统一样多个线程共享。 本地方法栈 本地方法栈是和虚拟机栈非常相似的一个区域,它服务的对象是 native 方法。你甚至可以认为虚拟机栈和本地方法栈是同一个 阅读全文
posted @ 2020-07-16 22:01 林一gg 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 类的加载过程 加载过程可以分为3大阶段:加载 - 链接(验证 -准备 - 解析) - 初始化,如下图: 加载 这里的加载可以从字面意思理解,主要作用是将外部的 .class 文件转换为二进制数据并加载到JVM的方法区内 , 这里的外部可以指:jar、war、网络中等等 验证 校验 class 文件的 阅读全文
posted @ 2020-07-16 22:00 林一gg 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 简单解释 内存分配的一种机制,Young区空间容纳不了对象时会把对象放到Old区,所以称之为Old区给Young区的空间做担保。继续联想。。。。java堆内存会使用谁来做空间担保呢? 官方解释 在发生Minor GC之前,虚拟机必须先检查老年代最大可用的连续空间是否大于新生代所有对象总 空间,如果这 阅读全文
posted @ 2020-07-16 21:58 林一gg 阅读(307) 评论(0) 推荐(0) 编辑