orcal Hotspot JVM的内存堆布局(使用最多的!!!!)
分为Perm/Young/Tenured三块区域,新对象分配在Young的Eden区,也可能直接在年老带Tenured区
在进行新生代垃圾回收的时候,Eden中存活的对象会被复制到空的Survivor区,下次新生代垃圾回收的时候,这个Survior区和Eden区存活的会被复制到新的Survivor区,并清空当前的Survivor区。
经过多次新生代垃圾回收,还存活的对象会被复制到年老代,而年老代会根据一定条件进行垃圾回收。
JRockit的JVM内存堆布局
JRockit的内存分为Nursery(相当于年轻代)和Tenured代。
Nursery代有个KeepArea,里面的对象能过跳过下一次的YoungGC。
IBM JVM的分代名词与JRockit一样
,但Nursery里的Allocate和Survivor与hotspot的eden和Survivor的同义,但它只有一个Survivor。GC时从一个区复制到另一个区。
阅读(3981) | 评论(0) | 转发(0) |