[Effective Java] 8. finalizer와 cleaner 사용을 피하라
·
Study/Effective Java
Effective Java 3/E 아이템8:finalizer와 cleaner 사용을 피하라 1. 자바의 두 가지 객체 소멸자 finalizer(deprecated) - 예측할 수 없고 상황에 따라 위험할 수 있음. ( 일반적으로 불필요함. ) - 오동작, 낮은 성능, 이식성 문제의 원인이 되기도함 cleaner - Java 9 에서 finalizer 대안으로 소개된 API - finalizer 보다는 덜 위험하지만, 여전히 예측할 수 없고, 느리고, 불필요하다. 2. finalizer와 cleaner 사용을 피해야하는 이유 a. finalizer와 cleaner는 수행 시점 및 수행 여부에 대한 보장이 없다. - 수행 시점이 GC 알고리즘에 달려있음, 구현방식에 따라 다름. - finalizer 쓰레드..