jdk5中的ConcMarkSweepGC简记

jdk5中的ConcMarkSweepGC:
这种回收策略的目标是提供短暂的停顿时间:
它一共有两个暂停阶段,两个并发阶段(在多处理器环境下,使用一个回收线程与多个应用线程同时执行)
1.pause initial mark,在这个阶段,将停止所有应用线程,并在很短的时间内,标志出所有从根对象可直接到达的对象(如objects on thread stack, static objects and so on)
2.concurrent marking,在这个阶段,回收使用一个线程与应用线程并发执行,这个阶段可能会较长,但不会影响应用的执行。
3.pause remark,在这个阶段,将停止所有应用线程,重新标记已标记的live objects,这个阶段可能有稍长,取决于已标记对象字段所改变的数量
4.concurrent sweeping,在这个阶段,回收使用一个线程与应用线程并发执行,清理死对象,这个阶段可能会较长,但不会影响应用的执行

注意的问题:如果并发回收过程未能在内存被填满前完成,那么回收策略将自动被改变为吞吐量优先(高暂停)的策略,可以通过调整-XX:CMSInitiatingOccupancyFraction=nn,nn默认百分比为68%,来控制并发回收的出现时机。
控制好回收时间,关键有两点:1.控制pause remark的时间 2.避免由于老代被占满而改变为吞吐量优先
见[url]http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html[/url]

[url]http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值