jvm虚拟机笔记<二> 垃圾回收与内存分配

确定对象已废弃需要两步:

  1. 利用可达性分析算法(与GC roots有关联——虚拟机栈中的对象,方法区静态对象,方法区常量对象,本地方法引用的对象)判断是否需要回收。
  2. 是否覆盖过finalize方法并执行:覆盖过可以“免死一次”。

垃圾回收算法:

  • 标记-清除算法:把标记过的清除。
  • 复制算法:回收时把标记的复制一份,然后其他内存全部清除。
  • 标记-整理算法:把标记过的清除后整理。
  • 分代收集算法:分新生代与老年代选择回收算法——新生少量存活代使用复制,老年代对象存活率高6使用标记-清除(整理)。

猜你喜欢

转载自www.cnblogs.com/lvoooop/p/11945691.html