关闭

对象析构和finalize方法

934人阅读 评论(0) 收藏 举报
    Java能自动的进行垃圾收集,可以将finalize方法添加到任何类中,finalize方法会在垃圾收集器清除对象之前被调用。但是实际的操作中,不要依赖finalize方法回收任何短缺资源,因为很难知道这个方法什么时候才能被调用。
    有个叫作System.runFinalizersOnExit(true)的方法可以确保finalize方法在Java关闭之前被调用。不过这个方法并不安全。另一种替代的方法是使用Runtime.addShutdownHook的方法增加“关闭钩子”。
    如果需要在资源使用完毕后关闭资源,那就需要进行手工的管理,对需要清除的资源使用dispose方法。重要的是,如果你使用的类含有dispose方法,你需要在对象操作完成后调用这个方法,尤其是,如果类的某个实例字段含有这个dispose方法,要提供一个释放实例字段的dispose方法。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30373次
    • 积分:423
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:14篇
    • 译文:0篇
    • 评论:1条