老年代的概念是什么、以及运行原理

参考答案

老年代的概念及原理:

  • 老年代主要存放应用程序中生命周期长的内存对象。
  • 老年代的对象比较稳定,所以MajorGC不会频繁执行。
  • 在进行 MajorGC 前一般都先进行了一次 MinorGC,使得有新生代的对象晋身入老年代,导致空间不够用时才触发。
  • 当无法找到足够大的连续空间分配给新创建的较大对象时,也会提前触发一次 MajorGC进行垃圾回收腾出空间。

MajorGC采用标记清除算法:

  • 首先扫描一次所有老年代,标记出存活的对象,然后回收没有标记的对象。
  • ajorGC 的耗时比较长,因为要扫描再回收。
  • MajorGC 会产生内存碎片,为了减少内存损耗,我们一般需要进行合并或者标记出来方便下次直接分配。
  • 当老年代也满了装不下的时候,就会抛出 OOM(Out of Memory)异常。

 

以上,是JVM面试题【老年代的概念是什么、以及运行原理】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧