JDBC 에 의해 사용 된 공간을 닫고 finally 블록에서 값을 null로 설정하여 해제하려고합니다. 예는 : 모든 가능한 결과가 0 대신 결과 집합 오픈 YourKit 게재 NULL로 폐쇄 설정 되더라도왜 JDBC ResultSet은 가비지 수집되지 않습니다
try{
//some query executed here and resultset used to get the values from the db
}catch(Exception exp){
//log exception here
}finally{
//close resultset
if(rs != null){
rs.close();
rs = null;
}
}
I가 YourKit 오픈 결과 집합 수를 확인 오픈 결과 집합에 대한 몇몇 비 제로 값을 보이고있다. 누구든지 열려있는 결과 집합의 수를 0으로 만들기 위해 여기 나를 도울 수 있습니까?
미리 감사드립니다. close
실패에 대한이와
finally {
if(rs != null) {
try{
rs.close();
}catch(Exception e) {
//handle, log ..
}
}
이어야 당신은 찾아 볼 수 있습니다 로그 및 수 : Tanmayee이
IIRC, 연결은 열린 채로있는 한 계속해서 생성 된 결과 세트를 유지할 수 있습니다. 다중 스레드 응용 프로그램에서 메모리 누수를 조사하면서이 문제를 보았습니다. 연결을 닫을 때 결과가 수집되는지 확인하십시오. – 0xCAFEBABE