在程序运行的过程中,堆上开辟的内存空间在不再被使用的时候,这些内存块对程来讲就是垃圾。产生了垃圾,自然就需要清理这些垃圾,更为重要的是需要把这些垃圾占用的内存资源回收,加以再利用,从而节省资源,提高系统性能。在C、C++等语言中由程序员负责回收无用内存,这是一项复杂又艰巨的任务。而在Java语言中,提供了垃圾回收( Garbage Collection,GC机制。垃圾回收机制消除了程序员回收无用内存空间的任,Java虚拟机提供了一种系统线程(即垃圾收集器线程)来跟踪存储空间的分配情况
并Java虚拟机的空闲时间,检查和释放那些可以被释放的存储空间。垃圾回收器在Java运行过程中自动启用。
注意
(1)在Java中,垃级回收是一个自动的系统行为,程序员不能控制垃圾回收的功能行为。比如垃圾回收什么时候开始,什么时候结来,还有到底哪些资源需要回收等,都程序员不能控制的
(2)有一些跟垃圾回收相关的方法,比如 System.gc()记佳一点,调用这些方法
仅是在道知垃级回收程,至子垃级回收程序不运行,什么时候运行,都是无法控制
(3)程序员可以通过设置对象为null(后面会讲到)来标识某个对象不再被需要了,这只可以被回收,并不是马上回收
网友评论