2017-04-03 86 views
0

会发生什么当我们将SQL连接对象设置为null而没有关闭连接时会发生什么。 SQL服务器仍然保持连接?和谁?如果设置SQL连接对象= null

我对这个搜索很多,但还没有找到答案

+0

您泄漏连接。它永远不会传达给服务器端来关闭连接。空是不够的。这是双方的谈话。 – duffymo

+0

@duffymo关于处理它关闭连接? –

+0

封闭的连接是正确的。让GC清理它或将其返回到连接池。 – duffymo

回答

0

当你设置连接对象/引用为null,

Connection conn = null; 

引用了连接对象在这种情况下删除因为连接处于打开状态,所以它将被打开并且您的资源不会被释放。

如果您不关闭连接,则可能发生连接泄漏。在finally块中关闭连接非常重要。

0

没有SQL服务器将不会持有连接,当您将写入连接conn = null时,它会从堆栈中删除对象地址,但堆仍然保存他的对象的值,所以它会增加泄漏的内存,因为内存是仍然占据堆。

+0

也会关闭连接。所以如果我赋值为null,它将从连接中删除? –

+0

@umeshsohaliya看看我上面的评论。还有什么事情你需要知道? –

+0

当执行完成或进程完成时,它将刷新所有连接。如果应用程序/进程仍在运行,它将保持数据库连接。 –