我正在使用类DBConnection,它有一个静态方法createConnection.I创建一个连接对象,如
Connection con=DBConnection.createConnection();
我不会忘记将它与语句和结果集一起关闭。
现在,如果DBConnection具有普通方法createConnection,并创建一个新的Connection对象(如
),那又有何不同DBConnection dbConnection=new DBConnection();
Connection con=dBConnection.createConnection();
当然我不会忘记关闭连接,结果集和语句。
另一个疑问是关闭连接是否意味着它有资格进行垃圾收集,即。 con变量现在将等于null?
答案 0 :(得分:4)
在实例上调用静态方法(第二个示例)与在没有实例的情况下调用静态方法完全相同(第一个示例)。
请记住,静态方法DBConnection.createConnection()无论如何都会创建新的连接实例(这就是所谓的Factory方法),因此在第二个示例中,您将有效地创建两个实例(dbConnection和con)。
关闭不会使连接实例符合GC的条件。 Closing只关闭与RDBMS的底层物理连接。