JAVA 메모리 영역 구조
New Object Space는 다시 3개의 부분으로 나누어 지는데, 모든 새로 생성된 개체들이 가는 Eden(에덴동산)과 그 개체들이 Old Generation으로 가기 전 생존해 있는 Survivor Space(From, To) 1과 2가 있다.
Old Generation이 어느정도 차 있거나 특정 Time이 지나면 GC가 발생한다.
이 때, 참조가 있는 개체는 GC가 일어나더라도 남아있게 되는데 계속해서 쌓이면 Out of Memory Error가 발생하게 된다.
- JVM은 힙을 다음과 같이 3개의 영역으로 나누고 있다.
- Permanent Space : JVM 클래스와 메소드 개체를 위해 쓰인다.
- Old Object Space : New 영역에서 count를 세어서 어느정도 증가된(만들어진지 좀 된) 개체를 위해 쓰인다.
- New(Young) Object Space : 새로 생성된 개체들을 위해 쓰인다.
New Object Space는 다시 3개의 부분으로 나누어 지는데, 모든 새로 생성된 개체들이 가는 Eden(에덴동산)과 그 개체들이 Old Generation으로 가기 전 생존해 있는 Survivor Space(From, To) 1과 2가 있다.
Old Generation이 어느정도 차 있거나 특정 Time이 지나면 GC가 발생한다.
이 때, 참조가 있는 개체는 GC가 일어나더라도 남아있게 되는데 계속해서 쌓이면 Out of Memory Error가 발생하게 된다.
'개발 > JAVA & Spring' 카테고리의 다른 글
이미지 파일의 판단 :: checkImageType(File file) (0) | 2018.11.30 |
---|---|
Log4j 로그 패턴 (0) | 2018.11.30 |
가장 얇은 지갑 만들기 (0) | 2011.10.07 |
Palindrome (0) | 2011.10.07 |
Vector와 ArrayList의 비교 (0) | 2011.09.01 |