导图社区 对象生命周期思维导图
这是一篇关于对象生命周期的思维导图,包括生命周期,引用类型,垃圾回收等方面内容,可供大家学习以及参考。
这是一篇关于JVM内存模型的思维导图,JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的
这是一篇关于jvm类加载机制思维导图,jvm是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
社区模板帮助中心,点此进入>>
安全教育的重要性
个人日常活动安排思维导图
西游记主要人物性格分析
17种头脑风暴法
如何令自己更快乐
头脑风暴法四个原则
思维导图
第二职业规划书
记一篇有颜又有料的笔记-by babe
伯赞学习技巧
对象生命周期
引用类型
强引用,常用
软引用 new SoftReference(o)
内存足的时候不会被清理,内存不足就会被清理
弱引用 new WeakReference<>(o)
垃圾回收就会被清理
虚引用
生命周期
创建阶段
为对象分配存储空间
开始构造对象
从超类到子类对static成员进行初始化
超类成员变量按顺序初始化,递归调用超类的构造方法
子类成员变量按顺序初始化,子类构造方法调用
一旦对象被创建,并被分派给某些变量赋值,这个对象的状态就到了应用阶段
应用阶段
至少被一个强应用持有着
不可见阶段
程序的执行已经超出了对象的作用域,程序本身不再持有对象的强引用
存在GC root 的特殊持有引用
不可达阶段
不存在GC root
收集阶段
调用finalize()
重载finazlie()方法危险
影响JVM的GC 时间,需要两次GC
造成对象复活
终结阶段
等待GC
空间重分配阶段
垃圾回收
触发时间
e区和s区不够用了
old区不够用了
方法区不够用了
System.gc(),慎用
垃圾回收算法
标记清除
标记和清除两个阶段都耗时,参数大量内存碎片
标记复制
空间利用率低
标记整理
找存活对象,移到一边,其余均清理
分代收集算法
young 区用标记复制,存活时间段效率比较高
old区用标记清除或者标记整理,存活时间长,没必要复制来复制去