Закрытие соединения - PullRequest
1 голос
/ 27 августа 2009

Я использую класс DBConnection, у которого есть статический метод createConnection. Я создаю объект подключения, такой как

Connection con=DBConnection.createConnection();

Я не забываю закрывать его вместе с утверждениями и наборами результатов.

Теперь, насколько отличается тот же DBConnection с обычным методом createConnection и созданием нового объекта Connection, например

DBConnection dbConnection=new DBConnection();
Connection con=dBConnection.createConnection();

и, конечно же, я не забываю закрыть соединения, набор результатов и оператор.

Еще одно сомнение заключается в том, что закрытие соединения означает, что оно имеет право на сборку мусора, т.е. переменная con теперь будет равна нулю?

1 Ответ

4 голосов
/ 27 августа 2009

Вызов статического метода для экземпляра (второй пример) приводит к тому же результату, что и вызов статического метода без экземпляра (первый пример).

Имейте в виду, что статический метод DBConnection.createConnection () в любом случае создает новый экземпляр соединения (это так называемый фабричный метод), поэтому во втором примере вы создаете два экземпляра (dbConnection и con).

Закрытие не делает экземпляры соединений подходящими для GC. Закрытие просто закрывает основное физическое соединение с RDBMS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...