jvm内存模型

jvm内存模型见图1.
jvm内存模型_第1张图片
图1 jvm内存模型


permanent space为永久代空间;heap space为堆空间,它又分为新生代空间与老年代空间。

永久代空间用于存放Java类、静态方法、静态字段等。永久代对垃圾回收没有显著影响。

新生代空间

它又可以分为2部分——Eden space与Survivor Spaces,后者包括from space与to space。
Eden space
Eden ['i:dən] n. 伊甸园(《圣经》中亚当和夏娃最初居住的地方)

新创建的对象将放入Eden Space。


from space 与 to space

当Eden区满时,还存活的对象将被复制到from space,同时清空Eden区域。

当from space用满时,把eden与fromSpace中存活的对象移到toSpace,同时清空eden与fromSpace。

当to space用满时,把eden与toSpace中存活的对象移到fromSpace,同时清空eden与toSpace。可以看到,fromSpace与toSpace的功能是相互交替,一致的。


老年代空间

在新生代中经历了N次垃圾回收后仍然存活的对象,就会被放到老年代中。因此可以认为老年代中存放的都是一些生命周期较长的对象。

你可能感兴趣的:(jvm内存模型)