JAVA里促进垃圾回收有多少种方法?

好多种啊.
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.大家补充
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值