51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1558|回复: 0
打印 上一主题 下一主题

[讨论] 垃圾收集器与Java编程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-10 21:38:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
垃圾收集器(Garbage Collector,GC)对Java程序员来说,基本 上是透明的,但是一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。
参考资料1 )。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。但是,为了保证GC能够在不同平台实现的问题,Java规范对GC的很多行为都没有进行严格的规定。例如,对于采用什么类型的回收算法、什么时候进行回收等重要问题都没有明确的规定。因此,不同的JVM的实现者往往有不同的实现算法。这也给Java程序员的开发带来行多不确定性。本文研究了几个与GC工作相关的问题,努力减少这种不确定性给Java程序带来的负面影响。
参考资料4
参考资料4;
Phantom引用的用途较少,主要用于辅助finalize函数的使用。Phantom对象指一些对象,它们执行完了finalize函数,并为不可达对象,但是它们还没有被GC回收。这种对象可以辅助finalize进行一些后期的回收工作,我们通过覆盖Reference的clear()方法,增强资源回收机制的灵活性。
http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/index.shtml Y. Srinivas Ramakrishna "Atuomatic Memory Management in the Java HotSpot Virtual Machine",此文章JavaOne2002的演讲材料, http://java.sun.com/javaone
Monica Pawlan "Reference Objects and Garbage Collector" 此文章为JDC的文章,可在 http://developer.java.sun.com/上找到
Bill Venners Chapter 9 of "Inside the Java 2 Virtual Machine" http://www.artima.com/insidejvm/ed2/ch09GarbageCollectionPrint.html
Sun Microsystems, "Java Language Specification, Second Version"
</OL>
yeekee@sina.com
[/td][/tr][/table]
[img=100%,5 alt=]http://www.ibm.com/i/c.gif[/img]

[img=4,5 alt=]http://www.ibm.com/i/c.gif[/img]周欣,北京大学计算机系在读博士生,主要研究方向:程序理解、逆向工程及软件度量,联系方式 [email=zhouxin@sei.pku.edu.cn?cc=zhouxin@sei.pku.edu.cn]zhouxin@sei.pku.edu.cn[/email]。

源自:http://www-128.ibm.com/developerworks/cn/java/l-JavaMemoryLeak2/index.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 09:42 , Processed in 0.080834 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表