자바에서finally의 용법을 깊이 있게 분석하다
이전에 파충류를 쓸 때 데이터베이스 연결의 빈도가 매우 높았고 때로는 데이터 처리가 좋지 않았다. sql가 오류를 보고한 후에 이상을 던졌지만 뒤에 있는 데이터베이스 연결이 끊어지지 않았다.마지막 데이터베이스 연결 수가 너무 많아서 더 이상 연결하지 못하게 했습니다.이 데이터베이스 연결을 해제하는 작업은finally로 진행할 수 있습니다.
우선finally를 사용하지 않은 코드를 보십시오. (직접 실행할 수 없습니다. 무슨 뜻인지 알아볼 수 있으면 됩니다.)
Connection conn;
Statement stmt;
try{
conn = DriverManager.getConnection(url,userName,password);
stmt = conn.createStatement;
String sql = "sql";// sql
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
프로그램이 정상적으로 실행될 때 이상 투매가 없고 문제가 없습니다.그러나 프로그램에서 이상 (sql 오류가 발생했습니다) 을 던졌습니다.try 안의 문장은 실행되지 않았습니다.catch 안의 문장은 실행되지 않아서 데이터베이스 연결이 정상적으로 닫히지 않았습니다.데이터 양이 커지면 데이터베이스의 최대 연결 수가 상한선에 이르면 새로운 연결을 만드는 것을 허용하지 않습니다.
그리고 finally의 용도가 이제 드러날 거예요.
Connection conn = null;
Statement stmt = null;
try {
conn = DriverManager.getConnection(url,userName,password);
stmt = conn.createStatement;
String sql = "sql";// sql
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(stmt! = NULL){
stmt.close();
}
if(conn! = NULL){
conn.close();
}
}
이렇게 하면 sql 실행 오류가 발생하여 이상이 발생하더라도 마지막finally 코드에서 데이터베이스 연결을 한 번 더 판단하면 데이터베이스 연결 자원이 괜히 낭비되지 않도록 보장할 수 있다.위에서 말한 것은 편집자가 여러분께 소개한 자바 중finally의 용법입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.