[이펙티브 자바] 9. try-finally 보다는 try-with-resources를 사용하라
1. 개념 자바 라이브러리에는 close 메서드를 직접 호출해서 닫아줘야 하는 자원이 많다. 대표적으로 InputStream, ouputStream java.sql.connection 등이 있으며 해당 자원들은 클라이언트에서 놓치기 쉬워 예측할 수 없는 성능 문제로 이어지곤 한다. 이중 상당 수가 finalizer를 안정망으로 사용하여 문제에 대비하고 있긴 하지만, 완전히 안전하다고 할 수 없다. (해당 내용은 다음 포스트에서 확인 가능) [이펙티브 자바] - [이펙티브 자바] 8. finalizer와 cleaner 사용을 피하라 흔히 사용하는 try-finally를 사용한 예외처리를 확인해보자 2. try-finally 2-1. 자원을 1개 사용하는 try-finally 메서드 static String firstLineOfFile(String path) throws IOException { BufferdReader br = new BufferedReader(new FileReader(Path)); try { return br.readLine(); } finally { br.close(); } } ...