Java 垃圾回收机制:
1)对象可能不被垃圾回收;
2)垃圾回收不等于析构;
3)垃圾回收只和内存有关--回收程序不再使用的内存(只有对象不被引用的时候才会被清理)
finalize:
用于在垃圾回收时进行一些重要的清理工作
Java垃圾回收器如何工作:
1)Java垃圾回收器通过对对象重新排列,实现了一种高速的堆模型;
2)Java采用自适应的垃圾回收技术:
a、停止-复制:先暂停程序,将所有存活的对象复制到新堆中,没被复制的对象即为垃圾,需要修正对象的引用(效率低下)
b、标记-清扫:寻找存活对象并标记,清理未被标记的对象(堆空间不再连续,需要重新整理)
Java虚拟机通过监视对象情况,在两种方式中进行切换,即“自适应”技术
static:
static{}静态块在首次生成类对象时执行,且只执行一次