目前,我的程序每次需要时都会建立与服务器的连接,并在获取所需内容后关闭连接。
Connection con = DriverManager.getConnection(url, user, pass);
//grab data
con.close();
这是更好还是更坏的做法?如果我从程序一开始就运行一个全局连接,会有什么不同。有点像
public static Connection con = DriverManager.getConnection(url, user, pass);
然后在我需要的地方用类似的东西引用它
classname.con.createStatement();
最佳答案
这取决于您的应用程序。您应该按照您的需要编写代码——但是大型应用程序的一个 session 可能会带来问题。
例如线程安全。如果多个用户连接到您的应用程序,一个 session /连接超出范围。
我会为每个请求使用一个连接——使用一个额外的连接池和最大数量的打开连接。
因为使用连接会抛出异常,所以将您的代码放在 try-with-resources
block 中,然后您的连接会自动关闭。
try (Connection con = DriverManager.getConnection(myConnectionURL);) {
// grab data
} catch (SQLException e) {
e.printStackTrace();
}
关于java - 是始终打开一个连接更好,还是每次需要某事时都建立一个连接更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31532225/