当引用失效则计数器-1,当计数器为0,则GC可以进行回收
2.可达性分析算法:通过GC root作为起点,寻找一个对象被引用过程的引用链,当引用链的结果不可达的时候,说明该对象是可以被回收的
Java...中的引用
在JDK1.2之前,Java中的引用只有引用和没有引用两种情况,但是在开发过程中,我们往往需要更加复杂的场景,例如当我们内存空间足够的时候,我们就讲对应的对象存储在内存中,当我们内存不足的时候我们就把它进行回收...,然而如果该类已经不存在任何引用了,那么说明这部分的程序也已经基本跑到头了
GC算法
1.标记-清除算法:正如算法名字,该算法分成了标记和清除两个部分,标记部分如上所述的引用计数算法,标记完成之后进行清除部分...全称是Concurrent Mark Sweep,顾名思义采用的是标记-清除的算法,目标是达到最短回收停顿时间.过程分成了4个步骤
1.初始标记
2.并发标记
3.重新标记
4.并发清除
初始标记和重新步骤仍旧需要...JavaGC中的地位.它具备了以下几个以前的那些GC没有的特点
1.并行与并发:G1收集器相比于CMS按照CPU占比来减少Stop-the-world的时间,G1对此是使用并发的方式来保证GC运行和用户线程的同时使用