반응형
자바 메모리 누수 측정 방법
- 자바 프로그램의 실제 메로리 사용량은 시스템의 작업관리자에서 나오는 메모리 사용량으로는 측정 할 수없기에 디버그 출력으로 totalMemory() - freeMemory()를 출력하거나, 개발 도구를 사용하여 측정하는 것이좋다.
GC 알고리즘
- 메모리가 GC로 부터 해소가 되지 않는 루트 참조 객체(직간접적으로 참조가 되는 모드 객체)는 크게 3가지경우이다.
- Static 변수에 의한 객체 참조
- 모든 현재 자바 스레드 스택내의 지역 변수, 매개 변수에 의한 객체 참조
- JNI 프로그램에 의해 동적으로 만들어지고 제거되는 JNI global 객체 참조
이러한 경우에 사용할 수 있는 객체로 분류되어 GC에서 가져가지 않아 메모리가 누수될 수 있다.
자바 메모리영역은 3가지로 구성되어 있다.
Heap : 사용자가 생성하는 object들
Metaspace : classload, 메소드, 변수 정보를 저장하는 영역
Native : OS 자원을 보관하는 영역
반응형
'JAVA > JAVA 관련' 카테고리의 다른 글
문자열 정수를 int 형 정수로 변경하는 atoi 함수를 자바로 구현 (0) | 2018.06.06 |
---|---|
Java List 인터페이스 중 CopyOnWriteArrayList 소개 (0) | 2018.06.03 |
HashMap에서 사용되는 인스턴스 객체의 equals()와 hashCode() 재 정의 중요성 (0) | 2018.05.28 |
자바 Annotation 만들기 (0) | 2018.05.28 |
Java Reflection 설명 및 사용법 (0) | 2018.05.28 |