finalize, cleaner 는 쓸모도 없는 데 대체 왜 있을까?
자바에는 2가지의 객체 소멸자가 존재한다finalize()cleaner()💡 객체 소멸자란?객체가 메모리에서 제거될 때 호출되는 함수나 메소드본래의 뜻과 같은 의도의 함수이지만객체 소멸자는 기본적으로 쓰지 말아야 한다. 왜냐하면 finalizer(), cleaner() 가 언제 실행된다는 보장이전적으로 GC 의 알고리즘에 달려 있어 프로그래머가 사용한다고 해도 보장을 받지 못하기 때문이다. 그래서 finalizer(), cleaner() 는 기본적으로 쓰지 말라고 하지만더더욱 쓰지 말아야 하는 순간과 상황들이 존재하게 되는 데이는 다음 경우들이다.상태를 영구적으로 수정하는 작업성능 문제보안 문제사실상 finalize, cleaner 안에서는 무엇을 보장받지 못한다.그렇다면 finalizer 와 clea..
2023.07.28