快速了解垃圾回收

2024-10-31 19:46:40

1、首先了解两个如何判定垃圾对象的算法。引用计数法在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器值就+1,当引用失效的时候,计数器的值就-1。

快速了解垃圾回收

2、可达性分析法如果与对象有引用时,就说明这个地方可达,进而与所有有关的对象产生可达链,当引用消失时,删除所有可达链中可达的对象。

快速了解垃圾回收

3、再了解四种垃圾回收策略标记-清除算法标记-清除算法采用从根集合(GC Roots)进行扫描,对存活的对象进行标记,标记完毕后,再扫描整个空间中未被标记的对象,进行回收。

快速了解垃圾回收

4、复制算法对根集合进行扫描,对存活的对象进行标记,然后将标记的对象复制到新的内存,将旧内存清空解决了效率问题,不会多次扫描,但是内存区域浪费了一半。

快速了解垃圾回收

5、当分区的内存不够时,使用内存担保,多分一点内存,类似贷款。

快速了解垃圾回收

6、标记-整理算法(标记-整理-清除算法)因为复制算法中,对于内存的控制会引起内存担错聂庋堀保,反倒使垃圾回收的效果变慢先把存活的对象标记,将内存分成两块,被标记的对象往存活区走,没被标记的往另一侧,收墩芬蓥然后清除非存活区即可。

快速了解垃圾回收

7、分代收集算法分情况进行垃圾回收,对于新生代这种经常需要垃圾回收的,选择复制算法,对于老年代这种有很多对象存活的选择标记-整理算法。

快速了解垃圾回收
猜你喜欢