[아이템 8] finalizer와 cleaner 사용을 피하라
자바에서 객체소멸은 가비지컬렉터가 담당하고, 비메모리자원회수는 try-with-resources, try-finally로 해결한다. 따라서 프로그래머에게 객체소멸을 위한 어떤 작업을 요구하지 않지만, 다음의 소멸자를 가지고있기는 하다. finalizer: 예측할 수 없고 위험할 수 있다. 보통은 불필요하다. 자바 9부터 finalizer는 deprecated되어있다. cleaner: finalizer보다는 덜 위험하지만 여전히 예측할 수 없고 느리다. 역시나 보통은 불필요하다.(자바 9) 예측할 수 없다? 호출된 후 언제 실행될지 알 수 없다. 즉, 제때 실행되어야 하는 작업은 절대 할 수 없다. ex) 파일닫기 finalizer 스레드는 다른 애플리케이션 스레드보다 우선순위가 낮기 때문에 이에 의존하면..
카테고리 없음
2020. 6. 26.