IT/Programming
<Effective Java> RULE 7 종료자 사용을 피하라
종료자 사용은 예측 불가능 하며, 대체로 위험하고 일반적으로 불필요하다. → 시스템 오류, 성능 문제, 이식성 문제가 발생할 수 있다. → JVM에서는 종료자가 즉시 실행되리라는 보장이 전혀 없다. 따라서 긴급한 작업을 종료자 안에서 처리하면 안된다. 종료자 실행 시점은 GC알고리즘에 좌우되는데 이 알고리즘은 JVM구현마다 크게 다르다. → 자바 명세에는 종료자가 즉시 실행되어야 한다는 문구도 없지만 종료자가 반드시 실행되어야한다는 문구도 없다. → 중요 상태 정보는 종료자로 갱신하면 안된다. System.gc나 System.runFinalization들은 종료자가 실행될 가능성을 높여주긴 하지만 보장하진 않는다. 종료자 실행을 보장하는 메서드인 System.runFinalizersOnExit, Runt..
2023. 4. 27. 09:45