关于垃圾收集器的问题.如果我已经创建了数据库连接并在数据库上执行了一些操作,之后我没有使用连接对象更长时间,垃圾收集器可以释放我的连接.我想稍后使用此连接.
编辑:只是为了确认,如果我已创建我的连接是在webapp的上下文级别然后是什么情况?
如果您对某个对象保持强引用,Connection则垃圾收集器将永远不会触及您的对象,并且数据库连接将保留.请记住它不能被多个线程使用.
另一方面,如果长时间保持打开连接,某些底层资源(如TCP/IP套接字)可能会中断.
如果丢失了对连接的最后一个引用(通过覆盖它或设置为null),垃圾收集器将释放与连接和连接本身相关的所有Java对象.但它不会释放底层数据库连接,因此您必须始终显式调用:
connection.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3179 次 |
| 最近记录: |