절대 사용하면 안되는 메서드

  • static void gc() – GC 수행
  • static void exit(int satus) – 자바 VM중지
  • static void runFinalization() – 호출 하면 참조 해제 작업을 기다리는 모든 객체의 finalize() 메서드를 수동으로 수행해야 한다.


System.nanoTime 이 System.currentTimeMillis() 보다 빠르다. JDK5.0 이상 사용


JMH 사용해볼것!

@BenchmarkMode({ Mode.AverageTime})  평균 응답 시간 측정
@OutputTimeUnit(TimeUnit.MILLISECONDS)  출력 시간 단위
public class CompareTimeJMH {

	@GenerateMicroBenchmark  측정 대상이 되는 메서드를 선언
	public Dummy Data makeObject() {
		HashMap<String, String> map = new HashMap<String, String>(1000000);
		ArrayList<String> list = new ArrayList<String>(1000000);
		return new DummyData(map, list);
	}
}


출처 : 자바 성능 튜닝 이야기 이상민 지음