`

java 中的finalize方法

    博客分类:
  • Java
阅读更多
java 中的finalize()方法是为了清除那些不是用new 创建的内存,因为java的垃圾回收器只回收new 创建的内存,且只有当垃圾回收器启动时才会执行finalize()方法,而java中一切皆为对象,似乎没有必要用到finalize()方法,其实finalize()的最大用处在于java可以调用c或c++写的程序,除非你用c/c++里的free(),否则它不会自动释放内存,其后free()是c/c++里的方法,因此你得在finalize()里用native method(java对其它语言的支持)方法调用free();

另外,finalize方法还有另一个重要的用处,那就是检查对象的清理条件:如当要清理的对象为一个打开的文件时,那么当你清理时,你应该确保文件是关闭的,可以调用System.gc()方法启动垃圾回收器.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics