本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
finalize()主要用于在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。
2.语法
protectedvoidfinalize()throwsThrowable{}
3.参数
无
4.返回值
没有返回值
5.实例
publicclassFinalizeTest{ staticclassPerson{ Stringname; @Override protectedvoidfinalize()throwsThrowable{ System.out.println("finalize"+name); super.finalize(); } } publicstaticvoidmain(String[]args){ Personp=newPerson(); p.name="ltt"; p=null;//此后,p原先指向的Person对象会在某个时间被gc回收掉 System.gc();//建议JVM进行gc操作,但不一定会进行gc操作 System.runFinalization();//执行将要被销毁的对象的finalize方法 } }
运行结果运行结果
finalizeltt
为了触发 gc行为,用了下面的代码:
System.gc();//建议JVM进行gc操作,但不一定会进行gc操作 System.runFinalization();//执行将要被销毁的对象的finalize方法
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容