面试java高级-JVM垃圾回收机制
问题:GC发生在JVM哪部分,有几种GC,它们的算法是什么
GC:Gabage Collection,垃圾回收机制
GC:Generational Collection,分代收集算法
Perm永久区没有GC
1.GC发生在JVM哪部分?
答案:堆
2.有几种GC?
可以当做是问GC:Generational Collection,分代收集算法。
Minor GC和Full GC
3.它们的算法是什么?
(1)引用计数法
缺点:没办法解决对象互相引用的情况。
(2)复制算法(Minor GC)
(3)标记清除(Full GC)
标记幸存的,清除没有标记的
缺点:产生大量不连续的内存碎片
(4)标记压缩(Full GC)
相当于《深入理解Java虚拟机》中的标记整理算法
(5)标记清除压缩
实际上是算法4和5的结合,这种结合正是目前Full GC老年代正在使用的
优点:减少对象的移动成本