发现tenured generation老年代的内存是new generation 新生代内存的2倍。通常情况下,只要对象的年龄达到一定的大小,就会自动离开年轻代进入老年代,对象年龄是由对象经历数次GC决定的,在新生代每次GC之后如果对象没有被回收,则年龄加1。参数:-Xmx1024M -Xms1024M -XX:+UseSerialGC -XX:MaxTenuringThreshold=15 -XX:+PrintGCDetails使用PretenureSizeThreshold可以进行指定进入老年代的对象大小,但是要注意TLAB区域优先分配空间。每一个线程都会产生一个TLAB,该线程独享的工作区域,Java虚拟机使用这种TLAB区来避免多线程冲突问题,提高了对象分配的效率。TLAB空间一般不会太大,当大对象无法在TLAB分配时,则会直接分配到堆上。

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)

JVM之参数分配(全面讲解)