Java Survivor1,VM幸存者Old Gen中的Survivor2

Ski*_*kip 4 java garbage-collection jvm memory-management java-8

我想,在Java-Heap-Memory模型中

  • 幸存者和
  • 老根

是同义词.它将成为Java放置Object的区域,它在某些GC Cycles中幸存下来.
在VisualVM中我看到,这是两个不同的区域,即使有多个幸存者区域.

java内存中Survivor和Old Gen区域有什么区别?在此输入图像描述

编辑:

似乎,幸存者(与伊甸园一起)属于Young Gen,See 在此输入图像描述

rbe*_*nto 6

有两个幸存者区域,S0和S1.在任何时候,其中一个是从太空太空.

当小型GC发生时,它从伊甸园空间收集物体,幸存者被放置在太空中.

来自前一个GC的对象在from空间中也被移动到to space空间,除非它们已达到幸存者阈值,这意味着该对象是一个长生命对象.在这种情况下,它被提升为老一代.

在此之后,幸存者空间被交换,因此空间总是清晰的.

只有两个幸存者空间.在图像中,空间图形区域只是相同信息的不同表示.

你可以在这里阅读更多相关信息.