首页 > 代码库 > Java基础--finalize()方法
Java基础--finalize()方法
原理:
一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。
用途:
1)释放通过某种创建对象方式以外的方式为对象分配的存储空间
那么对于一切都是对象的java,这种现象是怎么产生的呢?
主要发生在使用“本地方法”的情况下,(本地方法:一种在java中调用非java代码的方式),对于这样分配的java对象的存储空间就需要finalize()来释放内存
2)用finalize()来检测终结条件
例如:对象代表了一个打开的文件,在对象被回收前,应该关闭这个文件。
ps.
提醒jvm进行垃圾回收的方式
1)Runtime.getRuntime.gc()
2)System.gc()--(方法内部实现为Runtime.getRuntime.gc())
垃圾回收的两种方式
1)标记-清扫
2)停止-复制
Java基础--finalize()方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。