반응형 아이템81 finalizer와 cleaner 사용을 피하라 finalizer와 cleaner 사용을 피하라 자바의 객체 소멸자 1. finalizer (자바 8까지) 예측 불가능하고, 상황에 따라 위험할 수도 있어 일반적으로 불필요 2. cleaner (자바 9~) finalizer보다는 덜 위험하지만 마찬가지로 예측 불가능, 느림, 일반적으로 불필요하다. 어째서 불필요한지? 1. finalizer와 cleaner는 즉시 수행된다는 보장이 없다. 즉, 두 가지로는 제때 실행되어야 하는 작업은 절대할 수 없다. ex) 파일 닫기의 경우, 동시에 열 수 있는 파일 개수에 한계가 있기 때문에, finalizer나 cleaner가 제 때 실행되지 않는다면, 새로운 파일을 열지 못하게 될 수 있다. 2. 수행 여부를 보장하지 않는다. 접근할 수 없는 일부 객체에 딸린 종.. 2022. 3. 22. 이전 1 다음 반응형