java自带垃圾回收机制,会自动识别内存中不再会被使用的对象并将其销毁,释放内存。
finalize()的使用:
在java中每个被分配了内存的对象最终是要被清理的,那么当系统不能准确的去判断并释放这些对象时,就需要程序员在这个对象的类里面创建一个finalize()的方法,方法告诉程序当满足一个特定的条件时,就释放对象。例如文件流,最终需要将流关闭,才能实现内存的释放。
示例:
package oopTest;
public class FinalizeClass { public boolean nishuone = true; public FinalizeClass(){ } public FinalizeClass(boolean nishuone){ this.nishuone = nishuone; } public void wobushuo(){ this.nishuone = false; } public void finalize(){
if(nishuone){ System.out.println("java是最nb的编程语言"); } } public static void main(String[] args){ FinalizeClass a = new FinalizeClass(true); a.wobushuo(); new FinalizeClass(true); System.gc(); } }