본문 바로가기
공부/이펙티브자바

[이펙티브자바]item8.finalizer와 cleaner 사용을 피하라.

by 띵커베르 2023. 1. 17.
728x90
  • finalize?
    • 가비기컬렉션의 수행될 때 실행되는 메소드를 정의할 수 있다고 한다.
    • leak 을 방지하기 위한 기술이였던거 같다.
  • cleaner?
    • finalize 의 대안책으로 덜 위험하지만, 예측할 수 없고, 느리고, 일반적으로 불필요하다.

---

  • 사용안하는 이유
    • 즉시 수행된다는 보장이 없음.(가비지 컬렉터 알고리즘에 따라 다름)
    • 성능문제
    • 정말 필요한 상황이 아니라면 쓰지말자.
      • 자원의 close 가 필요한 상황에 안전망 같은 경우에 사용은 가능하지만 안쓰는게 나을듯.
  • 추후 업데이트 하겠지만, 잘 쓰지 않은 부분이라 크게 와닿지 않은 부분.
  • 그래서 어떻게?
    • item9 에서 나오겠지만 try with resources 를 사용하면 될듯하다.
728x90

댓글