
[이펙티브 자바] 2장 객체 생성과 파괴 - 아이템 8 finalizer와 cleaner 사용을 피하라 / 아이템 9 try-finally보다는 try-with-resources를 사용하라
·
💻/Java
아이템 8 finalizer와 cleaner 사용을 피하라 Java 2가지 객체 소멸자: finalizer, cleaner-> 예측 불가능, 성능 저하, 동시성 문제 유발finalizer: Java 9 deprecated API로 지정, 위험성 ↑cleaner: `finalizer`보다 덜 위험 But, 여전히 느리고, 불필요, 예측 X!= C++의 파괴자(destructor)(생성자 대척점) 객체 소멸될 때 그와 연결된 자원(메모리 + 비메모리) 자동 회수vs Java: GC) 접근할 수 없게 된 객체 회수(메모리만 관리)-> 비메모리 자원은 `try-with-resources`와 `try-finally` 사용해 해결finalizer와 cleaner 피해야 하는 이유1) 실행 시점 보장 XGC가 객체 ..