개요
- Java 8 기점으로 격변함
- Permanent Generation 영역이 사라지게 되고
- MetaSpace 영역이 등장하였다.
Java8 이전의 메모리 구조
Permanent Generation
- 정의
- 클래스의 메타데이터와 상수 풀을 저장하는 영역
- 특징
힙 영역의 일부였다고 합니다. ㄷ. ㄷ
- 힙 영역을 나눠 사용하는 것이다 보니, 크기가 제한적이여서
- 실제로 Java 8 이전에는 OOM 이 발생하는 상황이 더 잦았다고 합니다
Java8 이후의 메모리 구조
MetaSpace == MethodArea
- 정의
- Permanent Generation 영역을 대체하기 위해 등장했습니다.
- 특징
- Native Memory 에 할당됨
- 제한된 크기가 없음
- 메모리 누수 우려가 낮아졌음
STATIC
과 메모리
- static 변수
- 클래스 로딩 시점에 메모리에 할당됩니다.
- Method Area == MetaSpace 에 저장됨.
- 클래스의 모든 인스턴스에서 공유됩니다
- 객체
- new 연산자를 사용
- 힙 영역에 저장됨.
Uploaded by N2T
'자바 > 스프링입문객체지향' 카테고리의 다른 글
상속에 대한 오해 - 클래스 vs 객체 =?= 붕어빵틀 vs 붕어빵 (0) | 2023.08.19 |
---|---|
객체지향은 인간 지향이다. (0) | 2023.08.19 |
전역변수와 지역변수에 대한 정정 (0) | 2023.08.19 |
변수에 저장하는 값 자체는 어디에서 오게 되는걸까? (0) | 2023.08.19 |
필드 vs 속성 | 함수 vs 메서드 (0) | 2023.08.18 |