TIL

Chapter 11. 자바 언어의 성능 향상 기법

11.1 컬렉션 최적화

11.2 List 최적화

11.2.1 ArrayList

11.2.2 LinkedList

11.2.3 ArrayList vs LinkedList

11.3 Map 최적화

11.3.1 HashMap

11.3.2 TreeMap

11.3.3 MultiMap은 없어요

11.4 Set 최적화

11.5 도메인 객체

누수를 일으키는 도메인 객체는 종종 GC 마킹 시간을 증가시키는 주범이다. 단명 객체가 긴 전체 객체 체인에 걸쳐 살아남기 때문

11.6 종료화 안 하기

11.6.1 무용담: 정리하는 걸 깜빡하다.

11.6.2 왜 종료화로 문제를 해결하지 않을까

어떤 객체가 더 이상 자신을 참조하지 않는다고 가비지 수집기가 판단하면 그 객체에 있는 finalize() 메서드를 호출한다. 서브 클래스는 finalize() 메서드를 오버라이드해서 시스템 리소스를 처분하는 등 기타 정리 작업을 수행한다.

11.6.3 try-with-resources

11.7 메서드 핸들

대부분 개발자에게 메서드 핸들이란 코어 리플렉션과 기능은 비슷하나 최대한 정적 타입을 안전하게 지키는 요즘 방식의 리플렉션이라고 생각하면 된다.