Java 虚拟机中的存储的理解 堆栈 GC

栈 主要存放基本类型数据和对象的引用
堆 主要存放对象实体
    新生带(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。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值