반응형
FileOutputStream
-
Item 8. finalizer와 cleaner 사용을 피하라Book/Effective Java 3E 2022. 10. 13. 08:00
자바는 두 가지 객체 소멸자를 제공합니다. 다만, 두 가지 객체 소멸자 모두 예측할 수 없고, 일반적으로 불필요합니다. finalizer: 자바 9 deprecated API 지정. cleaner를 대안으로 소개. cleaner: 자바 9부터 지원하는 객체 소멸자. finalizer와 cleaner는 즉시 수행된다는 보장이 없습니다.[JLS, 12.6] 즉, finalizer와 cleaner로는 제때 실행되어야 하는 작업은 절대 할 수 없습니다. 자바 언어 명세는 finalizer나 cleaner의 수행 시점뿐 아니라 수행 여부조차 보장하지 않습니다. 따라서 프로그램 생애주기와 상관없는, 상태를 영구적으로 수정하는 작업에서는 절대 finalizer나 cleaner에 의존해서는 안 됩니다. 또한, fina..