【发布时间】:2018-06-15 07:14:31
【问题描述】:
有一个方法 getConnection() 来初始化一个连接。我知道,我可以使用
try (Connection conn = getConnection()) {
...
Target t = new Target(conn);
...
}
在 Java 7 中使用该连接并在尝试结束时自动关闭它。但是如果我不尝试就直接使用下面的代码会发生什么:
Target t = new Target(getConnection());
这是否会造成资源泄漏,因为我无法关闭连接,因为我没有用于连接的变量?
【问题讨论】:
-
是的,正是你所说的。
-
将
Connection传递给Target的实例即使关闭连接也可能会造成内存泄漏,具体取决于Target的作用及其存在时间。
标签: java jdbc connection