[java] jVisualVM에서 샘플링과 프로파일 링의 차이점

VisualVM에는 샘플링 및 프로파일 링을위한 두 개의 별도 탭이 있습니다. VisualVM에서 샘플링과 프로파일 링의 차이점은 무엇입니까?



답변

Sampling많은 스레드 덤프를 가져오고 스택 추적을 분석하는 것을 의미합니다. 이것은 일반적으로 더 빠르며 바이트 코드에서 런타임 변경이 필요하지 않지만 (이를 깨뜨릴 수 있음) 덜 정확합니다.

Profiling수단 인스트루먼트 당신의 클래스와 메소드를, 그래서 그들은 실행할 때마다 그들은 “보고서”. 덤프가 완료 될 때 포착 된 메소드뿐만 아니라 인스트루먼트 된 메소드의 모든 호출을 계산하므로보다 정확합니다. 그러나 계측은 클래스의 바이트 코드가 변경되어 프로그램을 중단시킬 수 있음을 의미합니다. 실제로 이러한 이유로 JBoss 또는 WebLogic과 같은 대규모 응용 프로그램 서버에서 프로파일 링을 사용하면 모든 것이 중단되거나 중단되는 경우가 종종 있습니다.


답변