您的位置:首页 > 编程语言 > Java开发

java 垃圾回收机制

2014-08-01 11:28 183 查看
java中垃圾收集器用来监视java程序的运行,当对象不再使用时,就自动释放对象所使用的内存。java使用一系列指针来跟踪对象的各个引用

(并不是直接跟踪每个对象),并用一个对象表将这些指针映射为对象的引用。这样,java的垃圾收集器能够以独立的线程在后台运行,并依次检查

每个对象。通过更改对象表项,垃圾收集器可以标记对象、移除对象、移动对象或检查对象。

垃圾收集器是自动运行的,一般情况下,无法显示的请求垃圾收集器。程序运行时,垃圾收集器会时不时的检查对象的各个引用,并回收无引用

对象占用的内存。调用System类的静态gc()方法可以运行垃圾收集器,但这样并不能保证立即回收指定对象。

java虚拟机中的自动垃圾回收机并不能阻止程序运行溢出内存,假设一个程序保持创建一个引用时,其他的任何引用都没有被抛弃,这样也会造

成内存耗尽的结果。虽然垃圾回收机能在后台独立运行,但是塔并不是一个独立的平台,它具有平台依赖性。

判断一块内存是否符合垃圾收集器的标准有:

1)给对象赋予了空值null,以后再没有调用过。

2)给对象赋予了新值,即重新分配了内存空间。

对于频繁申请内存和释放内存的操作,建议还是自己控制一下为好,此时或许System.gc()并不一定适合,最好使用finalize强制执行或者写自己的finalize方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: