2012-03-19 4 views
1

저는 JVM 도메인의 초보자입니다.하지만 JFrame과 같은 스윙 구성 요소를 사용하면 에덴 공간 사용량이 지속적으로 증가합니다. VisualVM에서 플롯 된 그래프는 상승 직선입니다.) GC가 가장 낮은 지점으로 다시 보낼 때까지. Eden 공간이 새롭게 생성 된 객체에 사용되기 때문에, 나는 끊임없이 그 객체를 만들고 있으며, Swing 컴포넌트 없이도 여전히 동일한 효과가 발생한다면 궁금합니다.스윙을 사용할 때 에덴 공간 사용량이 지속적으로 증가합니다.

[편집]

힙 덤프보고 후, 내가 만든 객체가 char 형 []의이며, [] int로 발견. 그 대상들은 무엇입니까?

답변

4

JVM은 Eden 공간에 새로운 개체를 생성하므로 GC가 지울 때까지 직선으로 올라가면 OK입니다. Java 메모리는 "세대"에서 관리되며 개체는 연령대에 따라 막대한 세대 (Eden)에서 Perm로 이동합니다.

Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine은 Java의 메모리 관리에 대한 좋은 기사입니다.

+0

답장을 보내 주셔서 감사합니다. 나는 새로운 물체가 에덴 공간에서 창조되었다는 것을 이해하지만,이 경우 엔 무엇이 있습니까? 입력 이벤트 나 다른 데몬 스레드를 기다릴 때 Event Dispatch Thread가 생성합니까? – stackoverflower

+0

프로파일 러를 사용하여 실제로 생성되는 내용을 찾아야합니다. http://netbeans.dzone.com/vvm-displaying-java-memory-pool-stats를 사용해보십시오. – sikander

1

문제는 실제로 VisualVM을 사용한 프로파일 링으로 인해 발생할 수 있습니다 (this 참조).

관련 문제