System.gc() 를 왜 사용하면 안될까?
명시적으로 GC를 호출하는 방법들이 2가지 있는데 아래와 같다. 1. System.gc() 2. null 그중 System.gc() 를 사용하면 엄청난 성능 저하를 일으킨다고 하는데 실제로 얼마나 성능이 떨어지는지 확인해 보자. 코드는 간단하다. 맨 처음 현재 시스템 시간을 출력해 준다. ValueAdder라는 클래스를 배열로 선언해 준 뒤, 100번 반복을 하면서 a 배열 10개에 새 인스턴스를 할당해 준다. 그리고 끝나는 시스템 시간을 출력하고 끝나는 시간에서 시작 시간을 빼고 출력한다. 현재 System.gc 는 주석 처리 되어 있는 상태. 실행해 보자. 총 77ms가 걸렸다. 기존 참조값과 변경 후 참조 값은 그냥 변경되었다는 것을 눈으로 확인하기 위해 출력했다. 이제 System.gc() 주석을..