SSISO Community

시소당

자바의 메모리 관리

1. GC가 비사용중인 메모리를 모두 수거 하지 않을 수도 있다네요..

그래서 더이상 사용하지 않을 놈들은.

MyObject obj = new MyObject();

// 사용이 끝난후
obj = null;

다음과 같이 null 로 해주는것이 GC를 불러내는데 효과적이라네요.

흠 근데 이거 보단 4번이 낳을듯..

2. 메모리 사용량 측정

java.lang.Runtime 클래스를 이용하면, 현재 사용중인 메모리를 알 수 있다네요.

Runtime.totalMemory(); 현재 총 사용할 수 있는 사이즈
Runtime.freeMemory(); 현재 남아있는 heap 사이즈

위에서 밑에것을 빼면, 현재 사용한 메모리 양이겠죠..


3. 실행시 heap 용량 제한하기

java hotspot ms32m mx32m JavaClass

다음과 같이 실행하면. 처음부터 32m 의 메모리를 가지고 시작..


4. WeakReference 활용

WeakReference 로 Wrapping 된 객체는.

System.gc() 실행시 모두 삭제된다.






출 처 :

1,2,3


4 :
http://dna.daum.net/technote/java/JavaReferenceObjects

877 view

4.0 stars