앞서 String.intern() 메소드를 사용하면 Perm 영역에서 GC가 많이 발생할 수 있다고 했다.
http://tuning-java.com/455 참고.
그런데, 이 글을 읽는 분들은 대부분 아시겠지만, Perm 영역에는 클래스와 메소드등의 정보가 들어가게 된다. 많은 클래스를 읽어들일 수록 Perm 영역은 당연히 부족해지고, Full GC를 발생시킬 수 있다.
이런 문제를 발생시키는 주된 원인은 Reflection을 사용해서 메소드 호출등을 할 경우도 포함된다.
왜 Perm 영역에서 Full GC가 발생할 수 있는지에 대한 설명이 잘 되어 있는 문서다.
http://anshuiitk.blogspot.com/2010/11/excessive-full-garbage-collection.html
관심 있는 분들은 한번 정도 읽어 보면 좋을 듯 하다.
그리고,
http://coding.derkeiler.com/Archive/Java/comp.lang.java.programmer/2006-11/msg00122.html
이 글도 보면 도움이 될 것이다.
http://tuning-java.com/455 참고.
그런데, 이 글을 읽는 분들은 대부분 아시겠지만, Perm 영역에는 클래스와 메소드등의 정보가 들어가게 된다. 많은 클래스를 읽어들일 수록 Perm 영역은 당연히 부족해지고, Full GC를 발생시킬 수 있다.
이런 문제를 발생시키는 주된 원인은 Reflection을 사용해서 메소드 호출등을 할 경우도 포함된다.
왜 Perm 영역에서 Full GC가 발생할 수 있는지에 대한 설명이 잘 되어 있는 문서다.
http://anshuiitk.blogspot.com/2010/11/excessive-full-garbage-collection.html
관심 있는 분들은 한번 정도 읽어 보면 좋을 듯 하다.
그리고,
http://coding.derkeiler.com/Archive/Java/comp.lang.java.programmer/2006-11/msg00122.html
이 글도 보면 도움이 될 것이다.
'Java > GC' 카테고리의 다른 글
G1 GC 에 대해서 보다 더 자세히 알고 싶다면... (0) | 2013.02.26 |
---|---|
자바 GC에 대한 10가지 QnA (0) | 2012.12.03 |
[링크] 자바 메모리의 구조 (0) | 2012.03.09 |
[Java GC] 자바의 Perm 영역에서도 GC가 일어날까? (3) | 2012.01.30 |
[Java GC] GC가 성능에 미치는 영향에 대한 고찰 -링크 (0) | 2011.07.05 |