GC垃圾处理机制


虚拟机自动执行的,这个程序的优先级很低,只有在虚拟机空闲或者内存不足时调用
回收方法

  • 标记-清除:效率不高,产生大量碎片内存
  • 标记-整理:解决碎片问题
  • 复制算法:消耗内存太大

在新生代中,每次垃圾收集时都有大批对象死去,只有少量存活,那就选用复制算法。只需要付出少量存活对象的复制成本就可以完成收集。
老年代中因为对象存活率高、没有额外空间对他进行分配担保,就必须用标记-清除或者标记-整理。
由于永久代经常会内存不够用或者发生内存泄露,JDK1.8开始废弃了永久代,取而代之的是元空间(直接存在内存中可自定义大小),主要存放类的元数据。
判断对象是否存活的方法

  • 引用计数法
  • 可达性算法