나는 종종, 분명히 자원 con
및 statement
메소드가 완료되면 종료됩니다,이 경우,메서드가 종료 될 때 연결과 문을 닫아야합니까? JDBC에서
void databaseCall() {
Connection con = null;
Statement statement = null
try {
con = getConnection(...);
statement = con.createStatement(...);
// do some query
} catch (SQLException e) {
// bla bla
} finally {
try {con.close();} catch (Exception e1) {}
try {statement.close();} catch (Exception e1) {}
}
}
같은 조각이 나는 그것이 연결 및 문 명시 적를 닫 가장 좋은 방법은 알고가 발생하지만, literatur 즉, try
블록이 완료되면. finally
블록의 close
문이 정말로 필요합니까? 우리가 자원을 명시 적으로 공개하지 않더라도 방법이 끝나면 어떤 방식 으로든 닫히지 않겠습니까?
'close()'는'finally' 블록을 호출합니다. 그리고 네, 일부 DBMS는 리소스를 적절히 닫지 않으면 클라이언트 프로그램이 종료 되더라도 계속해서 처리합니다. –
감사합니다. 수정 됨. – gefei
@ G.Z. 당신의 의심과 유사 [여기] (http://stackoverflow.com/questions/11750708/statement-and-resultset-close-after-connection-close) – user75ponic