java什么时候该写.close()释放资源?

java什么时候该写.close()释放资源?,第1张

虽然Java有自动内存回收机制,但是如果是数据库连接、网络连接、文件 *** 作等,不close是不会被回收的,属于不正确的代码。\x0d\x0a也就是说,有close方法,必须得自己调用一下才行。\x0d\x0a垃圾回收机制仅在Java虚拟机所控制的范围内释放资源。\x0d\x0a对于类似于数据库连接、socket以及文件 *** 作等,\x0d\x0a如果有close方法,在你完成任务后执行它\x0d\x0a并且最好在finally块内做close,因为即使发生了例外,这些代码也能被调用。\x0d\x0a对于使用完了的对象来讲,Java不推荐使用类似于C++的析构函数来释放内存(C++中new完后得delete,Java中new完,使用后,将其置\x0d\x0a成null比较好),因为GC会调节最适当的时间来释放内存,在程序中滥用delete会降低Java程序的性能(但应该不会引发额外的错误)。

1、文件流要释放

2、数据库连接资源要释放

3、在结合使用hibernate时,session要释放

在使用的时候,java的垃圾回收一般不用手动释放,但是可以调用方法进行调用以实现垃圾回收,在某种特定情况下会使用到


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10713517.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存