荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: slight (生命不息,奋斗不止), 信区: Java
标 题: Re: JAVA里促进垃圾回收有多少种方法?
发信站: 荔园晨风BBS站 (Fri Nov 24 22:18:16 2006), 站内
好多种啊.
1.设置为null,当然咯,不null就不被回收了。
2.程序调用Runtime.gc()(貌似)
3.调整jvm heap的分配:
jvm heap分为young及tenured:
young又分为eden,survivor,virtual.
tenured分为virtual及perm(永久).
垃圾回收主要会三个阶段
1.eden空间的回收:
对象在eden空间中创建,该空间满后,垃圾回收开始工作,回收无效对象所占用的空间
.并将该带中存活的对象拷贝到survivor
2.survivor空间的回收:
在survivor的对象足够老后,才拷贝到tenured.
3.tenured的收回:
perm中持有的对象是虚拟机本身的,例如类或方法对象,从字面理解,该块不进行回
收,更详细情况我并不了解
如何调整参数一般需要根据具体应用的gc情况调整,如何知道gc情况呢?
使用-verbose:gc选项。读物中提到的工具可以帮助进行分析。
(上面这段是以前读下面两篇所做的笔记,比较乱,将就一下)
相关读物:
http://java.sun.com/docs/hotspot/gc1.4.2/
http://developers.sun.com/techtopics/mobility/midp/articles/garbagecollection2/
4.soft reference,weak reference等的使用(这些没用过,只知道跟gc有关系)
5.你们补充
【 在 hzxdark (漆黑之翼) 的大作中提到: 】
: 突然想起这个,以前去实习时面试官问的问题。
: 我只知道“把引用指向null来促进垃圾的回收”这一种,不知道还有什么办法可以?
--
"尽管外表完整快活。但灵魂中已留下某些创伤"
哈哈,这是一句爱因斯坦形容莫扎特的话,两位最美妙的天才,简直cool
※ 修改:·slight 于 Nov 24 22:36:43 修改本文·[FROM: 58.60.161.246]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 58.60.161.246]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店