荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: 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软件 网络书店