Java垃圾回收机制
1. 内存泄露定义:分配出去的内存得不到及时的回收,引起系统的运行速度下降,甚至导致程序瘫痪。
2. 垃圾回收机制:JRE负责回收那些不再被程序引用的对象所占用的内存空间,垃圾回收也可以清除内存的记录碎片。
3. 垃圾回收的缺点:
² 开销过大,影响性能:跟踪有用对象,确定无用对象。垃圾回收算法的不完备性。
4. 垃圾回收的特点:
² 垃圾回收机制回收的是无用对象所占用的内存空间,是JVM堆内存里的内存空间,垃圾回收的只能是内存资源,对于其他物理资源,则不可以。如:数据库连接。
² 垃圾回收发生的的不可预知性:垃圾回收机制和垃圾回收算法的不同。程序员可以调用对象的finalize()方法或System.gc()等方法来建议系统进行垃圾回收,但是只是建议,依然不能精确控制。
² 垃圾回收的精确性: 一是垃圾回收机制能够精确地标记活着的对象。二是垃圾回收能够精确定位对象之间的引用关系。
5. java编程的基本原则:对于不再需要的对象,不要引用他们。可以将该对象的引用变量值设为null,来暗示垃圾回收机制可以回收该对象。