Study/이펙티브 자바
[Effective Java 3E] finalizer와 cleaner 사용을 피하라
💥 개요 자바에서는 2가지 객체 소멸자를 제공합니다. 그중 finalizer는 예측할 수 없고, 상황에 따라 위험할 수 있어 일반적으로 불필요합니다.(앞으로 개발하면서 쓸 일이 없을지도...) 심지어 자바9에서 deprecated API 로 지정되었고, 그 대안으로 cleaner를 제시했지만, cleaner 역시 위험하고, 예측할 수 없고, 느리고, 불필요합니다. 🩻 문제 언제 수행될지 모른다 finalizer와 cleaner는 즉시 수행된다는 보장이 없습니다. 객체에 접근할 수 없게 된 후 finalizer와 cleaner로는 제때 실행되야 하는 작업은 절대 할 수없습니다.(파일, db처럼 사용 후 즉시 반납되어야 하는 자원에 절대 사용X) finalizer와 cleaner가 언제 수행될지는 전적으로 ..
2023. 8. 25. 18:42