- 博客(3)
- 收藏
- 关注
原创 可达性分析法
可达性分析法定义:通过一系列的“GC Roots”对象作为起点进行搜索,如果在“GC Roots”和一个对象之间没有可达路径,则称该对象是不可达的。可作为GC Roots的对象:虚拟机栈中引用的对象:引用栈帧中的本地变量表的所有对象方法去静态属性引用的对象:引用方法区该静态属性的所有对象方法区常量引用的对象:引用方法区中常量的所有对象本地方法栈中引用的对象:引用Native方法的所有对象判断对象是否存活:在可达性分析算法中被判定为不可达的对象,至少要经历再次标记过程才能
2021-01-25 14:47:33 1982
原创 垃圾回收算法
垃圾回收算法1.标记清除法分为两个阶段:标记和清除标记阶段:标记所有需要回收的对象清除阶段:回收被标记对象所占用的空间缺点:内存碎片化严重2.复制算法将内存容量分为两块,每次只用其中一块当一块内存满了将还存活的对象复制到另一块上,把已有的内存清理掉缺点:可用内存被压缩为原来的一半;存活对象较多时,复制算法的效率降低3.标记整理算法标记需要回收的对象将存活的对象移到内存的一端清除边界外的对象4.分代收集算法新生代新生代每次垃圾回收时,大量垃圾被回收新生代占整个内存区域
2021-01-25 14:46:54 166
原创 java的四种引用类型
java的四种引用类型1.强引用把一个对象赋给一个引用变量,这个引用变量就是一个强引用。引用变量存储在栈中,对象存储在堆中当方法运行完成后,方法会退出方法栈,引用不存在,对象就会被回收如果这个引用是全局变量,就需要在不用这个对象时将其赋值为null,因为强引用不会被垃圾回收由于强引用的对象不会被垃圾回收,当虚拟机内存不足时会抛出OOM错误2.软引用用SoftReference类实现当一个对象只有一个软引用,内存足够时,GC不会回收;内存不足时,GC就会回收它软引用适用于实现内存敏感
2021-01-25 14:46:12 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人