如果一些分配出去的内存空间不能有效的回收,就会引起系统运行速度的下降,甚至系统瘫痪,这种情况会造成内存泄漏。最直接的感受就是一个软件尤其是大型的软件打开的时间久了,就会感觉电脑非常卡,甚至死机,这就是由于内存使用过高造成的。
在传统的语言如C/C++中,需要程序员手动对内存进行回收,但是因为是人为操作,而且并不一定每次都能准确的进行回收,有可能该回收的没有回收,不该回收的却回收掉,都会对系统造成严重的后果。与之不同的是JAVA语言中,内存的回收不需要程序员手动控制,一切都是由JRE自动进行。JRE会自动负责回收不再使用的内存,这种方式叫做垃圾回收机制。
JAVA中的垃圾回收机制的优点
1、垃圾回收机制可以自动的回收内存中的垃圾,相比于传统的方式,节省了大量的时间和精力,大大提高了编程的效率
2、垃圾回收机制可以有效的提高程序的完整性
垃圾回收机制的特点
1、垃圾回收机制主要针对的是无用的内存空间,这些内存空间都在堆内存中,垃圾回收只是回收消耗的内存资源,对于物理资源无法回收
2、如果希望垃圾回收机制更快的回收垃圾,可以将对象的引用变量设置为null,这样垃圾回收机制就知道该对象在内存中已称为垃圾,就会自动回收
3、垃圾回收机制有可能定时回收,也有可能是在CPU空闲时回收,也有可能是在内存消耗过多中回收,因此充满了不确定性,不能准确的控制其进行 |