栈 主要存放基本类型数据和对象的引用
堆 主要存放对象实体
新生带(New generation)使用的垃圾收集器叫MninorGC,新生代由Eden Space和两块相同大小的Survivor Space(FromSpace和ToSpace)组成,后两者主要用于Minor GC时的对象复制。
老年带(Old generation)使用的垃圾收集器叫FullGC ,当新生代中的对象年龄大了就会放到老年带。
GC的说明,如果FullGC很频繁说明旧生带很快就满了,当旧生代满了后,可能会报outofmemory的异常。
cmsGC:CMS主要是针对old space空间的垃圾回收
常量池 放public static final定义的常量
静态域 存放静态成员(static定义的)
堆 主要存放对象实体
新生带(New generation)使用的垃圾收集器叫MninorGC,新生代由Eden Space和两块相同大小的Survivor Space(FromSpace和ToSpace)组成,后两者主要用于Minor GC时的对象复制。
老年带(Old generation)使用的垃圾收集器叫FullGC ,当新生代中的对象年龄大了就会放到老年带。
GC的说明,如果FullGC很频繁说明旧生带很快就满了,当旧生代满了后,可能会报outofmemory的异常。
cmsGC:CMS主要是针对old space空间的垃圾回收
常量池 放public static final定义的常量
静态域 存放静态成员(static定义的)
以下为转载
虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在 Eden 出生并经过第一次 Minor GC 后仍然存活,并且能被 Survivor 容纳的话,将被移动到 Survivor 空间中,并将对象年龄设为 1。对象在 Survivor 区中每熬过一次 Minor GC,年龄就增加 1 岁,当它的年龄增加到一定程度(默认为 15 岁)时,就会被晋升到老年代中。对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold 来设置。
CMS(concurrent mark sweep)并发清除标记的缩写,CMS尽可能的减少垃圾回收中的暂停,但是它仍然需要很少的暂停。暂停是指,停止应用程序的运行,JVM启动线程进行垃 圾回收。CMS主要是针对old space空间的垃圾回收,copy collector主要针对young space的垃圾回收工作。启用CMS需要在JVM设置–XX:+UseConcMarkSweepGC。