- 博客(6)
- 收藏
- 关注
原创 Spring Bean的生命周期
概述SpringBean生命周期1.BeanDefinition对象的创建2.Bean实例化3.提前暴露4.属性填充5.BeanPostProcessor的beforeInit6.初始化7.BeanPostProcessor的afterInit方法生成Bean对象,放入容器中 1.BeanDefinition对象的创建 加载一个Bean,首先要将Bean对应的class文件加载进来,同时生成一个BeanDefinition对象,将class文件中的类信息分块归类的存放到这个BeanDefinition对象中
2021-08-17 23:39:49 107
原创 CMS垃圾回收器和G1垃圾回收器
CMS垃圾回收器和G1垃圾回收器1.CMS垃圾回收器1.1-标题CMS的含义1.2-CMS执行垃圾回收的过程2.G1垃圾回收器2.1-G1垃圾回收的过程3.G1和CMS的区别3.1-CMS的优缺点3.2-G1的优缺点4.JVM实现并发收集的解决方案4.1-分代收集带来的问题4.2-解决方案三色标记法G1:写内存屏障+原始快照CMS:写内存屏障+增量更新 1.CMS垃圾回收器 1.1-标题CMS的含义 CMS:Concurrent Mark Sweep,(自译:并发标记清除) CMS垃圾回收器是一种以尽可能
2021-08-08 14:39:11 366
原创 五种单例模式
单例模式1.什么是单例模式?2.单例模式有哪些应用?3.单例模式五种实现3.1-饿汉式 1.什么是单例模式? 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 2.单例模式有哪些应用? 对于实际应用中,有时我们会写一些工具类来辅助开发,设想一下这种情
2021-08-04 23:58:37 297
原创 JVM内存结构
JVM内存结构1.线程共享1.1-堆1.2-方法区2.线程隔离2.1-程序计数器2.2-虚拟机栈2.3-本地方法栈 1.线程共享 1.1-堆 堆中主要存放对象实例,jdk8后移除永久代,改为使用本地内存的原空间来实现方法区,而字符串常量池留在了堆中。 对于堆,细分为一个Eden区和两个Survivor区。 新生代 又分为一个eden区和两个survivor区。新创建的对象实例总是在eden区中为其分配内存,Eden区满后则会触发Minor GC,存活的对象实例会存放到survivor1区中,再次GC后则
2021-08-02 23:12:07 61
原创 JVM类的加载和对象实例的创建
JVM类加载概述 1.类的生命周期 1.1-类的加载过程 装载 在装载阶段,java虚拟机将物理磁盘上的.class文件加载到虚拟机内存中 堆中 在堆中创建class对象对应的实例,堆中分配该class文件的内存空间(不是对象实例的空间而是代表这个类的class实例空间) 方法区中 方法区中保存该类对应的二进制数据结构,JVM将类加载到方法区中,提取类型信息,保存对应的类数据结构 栈中 栈中保存对堆中该class的引用 链接 验证 验证字节码文件中的符号引用是否合理 准备 验证通过后则进行准备阶段
2021-08-02 10:36:26 320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人