답변:
상당히 고급 도구를 사용하여 심각한 찌르기를 원한다면 Eclipse 의 Memory Analyzer 프로젝트 를보고 SAP가 제공 한 도구를 살펴보십시오 .
메모리 내 객체에 대해 제한된 SQL (OQL) 형식을 실행하는 것을 포함하여 메모리 누수 등을 찾는 데 매우 유용합니다.
com.yourcompany.somepackage.User에서 toString (firstName)을 선택하십시오.
정말 훌륭합니다.
JDK와 함께 기본적으로 제공되는 Java 힙 분석 도구 인 JHAT 를 사용할 수 있습니다 . 명령 줄이지 만 메모리를 검사하는 데 사용하는 웹 서버 / 브라우저를 시작합니다. 가장 사용자에게 친숙하지는 않지만 최소한 이미 대부분의 장소에 설치되어 있습니다. 매우 유용한 관점은 맨 아래에있는 "힙 히스토그램"링크입니다.
전의: jhat -port 7401 -J-Xmx4G dump.hprof
jhat
OQL "이 요일"도 실행할 수 있습니다 (하단 링크 "execute OQL")
Netbeans Profiler 또는 Visual VM 독립형 도구 에서 HeapWalker 를 사용할 수도 있습니다 . Visual VM은 독립형이기 때문에 JHAT의 좋은 대안이지만 JHAT보다 사용하기가 훨씬 쉽습니다.
Visual VM을 완전히 사용하려면 Java 6 이상이 필요합니다.
jvisualvm.exe
. JAVASDK/bin
폴더를 찾으십시오
Eclipse 메모리 분석기를 얻으십시오 . 더 나은 것은 없으며 무료입니다.
JHAT는 "장난감 응용 프로그램"에만 사용할 수 있습니다
힙 덤프에 대한 사용자 정의 분석을 수행하려는 경우 다음이 있습니다.
이 라이브러리는 빠르지 만 분석 코드를 Java로 작성해야합니다.
문서에서 :
개인적으로 VisualVM을 선호합니다. VisualVM에서 내가 좋아하는 기능 중 하나는 힙 덤프 비교입니다. 힙 덤프 분석을 수행 할 때 충돌의 원인을 파악하는 다양한 방법이 있습니다. 내가 찾은 유용한 방법 중 하나는 정상 및 비정상 힙 덤프를 비교하는 것입니다.
다음은 수행 할 수있는 단계입니다.