Java的垃圾回收
当一个对象成为垃圾后仍会占用内存空间,时间一长,会使内存空间不足,因此Java引入了垃圾回收机制
一个对象在成为垃圾后暂时地保留在内存中,当这样的垃圾堆积到一定程度时,Java虚拟机就会启动垃圾回收器将这些垃圾对象从内存中释放,从而使程序获得更多可用的内存空间。
也可以调用System.gc()方法来通知虚拟机立即进行垃圾回收。
当一个对象在内存中被释放时会触发finalize()方法。
代码:
package lmw03;
public class Trash {
protected void finalize() throws Throwable {
System.out.println("对象被当做垃圾回收");
}
public static void main(String[] args) {
Trash trashOne = new Trash();
Trash trashTwo = new Trash();
trashOne = null;
trashTwo = null;
System.gc();
for(int i=0;i<100000;i++){
}
}
}
结果:
Java的final关键字
final关键字可以用于修饰类、变量和方法,它有“无法改变”或者“最终”的含义。
- final修饰的类不能被继承
- final修饰的方法不能被子类重写
- final修饰的变量(成员变量和局部变量)是常量,只能赋值一次
PHP中的final类似