关于垃圾回收机制

yezersky 2009-03-23 10:48:44
想问一下关于J2ME的垃圾回收机制是怎么执行的?

把不需要的对象置为null之后,什么时间才能从内存中删除?
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sofinelulu 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ty_tarena_pger 的回复:]
Java code

public class GcTest {
public String name;
public GcTest(String name){
this.name =name;
System.out.println(name + "建立");
}
@Override
//系统在垃圾回收之前……
[/Quote]


J2ME 里有finalize方法? 有main方法? 无语了...
ty_tarena_pger 2009-03-24
  • 打赏
  • 举报
回复

public class GcTest {
public String name;
public GcTest(String name){
this.name =name;
System.out.println(name + "建立");
}
@Override
//系统在垃圾回收之前会自动执行finalize()
protected void finalize(){
System.out.println(name +"被回收");
}

}



public class UseGC {

public static void main(String[] args) {

GcTest obj1 = new GcTest("Object1");
GcTest obj2 = new GcTest("Object2");


obj1=null;
obj2 = null;
//建义系统回收,注意是建义,不是命令,如果系统同意回收,就会调用这个对象的finalize()
System.gc();

//while(true);

}

}
ZiSheng 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 yezersky 的帖子:]
什么时间才能从内存中删除
[/Quote]
这个不确定
cccloveyf 2009-03-23
  • 打赏
  • 举报
回复
回收时间控制不了的。你可以用System.gc()通报系统进行垃圾回收。
kexin_online 2009-03-23
  • 打赏
  • 举报
回复
请参考这篇文章http://blog.csdn.net/kexin_online/archive/2007/10/19/1832859.aspx
cccloveyf 2009-03-23
  • 打赏
  • 举报
回复
注意优化代码,要知道J2ME实在受限的设备上开发,不能等同于PC。有些结构和算法要斟酌。
yezersky 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuxing0614 的回复:]
系统会在感觉不够的时候自己处理的。System.gc()也不是及时处理的
[/Quote]

经常遇到爆内存的情况,好惨的
隧便 2009-03-23
  • 打赏
  • 举报
回复
系统会在感觉不够的时候自己处理的。System.gc()也不是及时处理的

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧