在前面我们提到对象的存储,那时我们就应该有个疑问:在复杂的程序中,会有无数的新对象或者变量生成,那么java程序是怎样清理没用的对象释放内存空间的呢?答案就是java中有垃圾回收器。
在我们进行java程序开发时,一般并不用刻意的去写程序去清理垃圾对象或变量,这也就侧面反映了java垃圾回收器的强大。在此我不介绍垃圾回收的机制原理,只对它的存在进行简单说明。
1、new出来的对象储存在堆中,由变量进行地址引用,而当没有任何有效的引用指向这个对象时,这个对象就成了垃圾,会被下一次的垃圾回收清理。
2、垃圾回收器不定时清理垃圾(GC)(Garbage Collection),回收垃圾的过程是透明的,并不是一看到垃圾就回收。我们可以通过调用System.gc();可以建议快一些。
3、对象被回收时,其成员变量也会被回收。
4、局部变量的生命周期:调用方法时存在栈中,调用方法结束被清除
5、内存的泄露:不再使用的对象没有被及时清理,严重会导致系统崩溃。
建议不再使用的对象及时设置为null。
java中的垃圾回收器(GC)
最新推荐文章于 2021-03-08 19:56:40 发布