java中的垃圾回收

相对于c语言的这种由开发人员显式的分配内存、释放内存,如果处理不当往往会造成内存泄露的问题。java的垃圾回收机制监视java程序的运行,自动释放不再使用的对象的内存。java使用软指针(指向对象引用的指针)来跟踪对象的所有引用。并使用一个对象表将软指针映射为对象的引用。垃圾收集器以单独的线程在后台运行,通过软指针依次检查每个对象。

垃圾收集器会不定时的检查对象的各个引用,如果一个对象没有任何的引用指向它,那个它可以被回收。

我们可以主动调用静态的gc()方法来运行垃圾收集器,但是并不能保证这样就可以立即回收指定的对象。

因此我们不应该试图去假设垃圾回收发生的时间,这是未知的。

一个对象所占用的内存符合垃圾回收的标准是,没有任何引用指向该对象。

Object a=new Object();
Object b=a;
a=null;
b=null;
如上面的对象,它开始有两个引用a和b指向它,当最后没有引用指向它时(a=null,b=null),它便符合垃圾回收标准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值