Roc*_* Hu 5 connection database-connection connection-pooling jdbc
在java中与数据库通信,我们经常按照以下步骤操作:
PreparedStatementResultSet我很困惑,我们应该关闭连接,所有人说创建连接是昂贵的,所以为什么我们不能这样做:
static
{
try
{
connection = DriverManager.getConnection(connectorURL,
user, password);
} catch (SQLException e)
{
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我们只是创建一个单独的连接,并在任何地方使用它.不是吗?如果我像这样使用它会发生什么?
如果我不关闭连接,会发生什么?
另外,我们将使用连接池,它将在池中创建一些连接,并且我们从池中获取连接,池中的连接也不关闭,为什么如果我们不使用池,我们需要关注如果我们不使用步骤并关闭连接?
它太混乱了,我不知道原理是什么.请帮我.谢谢.
小智 6
如果我们不关闭连接,将导致连接内存泄漏.除非/直到应用程序服务器/ Web服务器关闭,否则即使用户注销,连接仍将保持激活状态.
还有其他原因.假设数据库服务器有10个可用连接,10个客户端请求连接.如果数据库服务器授予所有这些服务器,并且在使用它们之后它们没有关闭,则数据库服务器将无法为另一个请求提供连接.出于这个原因,我们需要关闭它们 - 这是强制性的.
此外,它可能会导致一些关于数据库完整性的恶作剧活动.
| 归档时间: |
|
| 查看次数: |
6262 次 |
| 最近记录: |