[转载]Java 理论与实践: JVM 1.4.1 中的垃圾收集

Java 理论与实践: JVM 1.4.1 中的垃圾收集


在上月的 Java 理论与实践中,专栏作家 Brian Goetz 回顾了垃圾收集的基本算法。本月,他进一步探讨 JVM 1.4.1 是如何实际处理垃圾收集的,包括一些针对多处理器系统的新垃圾收集选项。请在本文对应的 讨论论坛上与作者及其他读者分享您对本文的心得(您也可以单击文章顶部或底部的 讨论来访问该论坛)。

上个月, 我们分析了引用计数、复制、标记-清除和标记-整理这些经典的垃圾收集技术。其中每一种方法在特定条件下都有其优点和缺点。例如,当有很多对象成为垃圾 时,复制可以做得很好,但是有许多长寿对象时它就变得很糟(要反复复制它们)。相反,标记-整理对于长寿对象可以做得很好(只复制一次),但是当有许多短 寿对象时就没有那么好了。JVM 1.2 及以后版本使用的技术称为 分代垃圾收集(generational garbage collection),它结合了这两种技术以结合二者的长处,结果就是对象分配开销非常小。

老对象和年轻对象

在任何一个应用程序堆中,一些对象在创建后很快就成为垃圾,另一些则在程序的整个运行期间一直保持生存。经验分析表明,对于大多数面向对象的语言,包括 Java 语言,绝大多数对象――可以多达 98%(这取决于您对年轻对象的衡量标准)是在年轻的时候死亡的。可以用时钟秒数、对象分配以后

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130171/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-130171/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值