JVM 메모리 구조 및 변수 적재 위치
JVM은 할당받은 메모리를 용도에 따라 여러 영역으로 나누어 관리하는데,
크게 3가지 영역이 있다.
1. 메소드 영역 (Method Area)
프로그램 실행 중 사용 되는 Class 파일을 JVM이 읽어 클래스에 대한 정보를 저장.
해당 클래스의 클래스 변수도 함께 저장
2. 호출스택 (Call Stack)
메소드 작업에 필요한 메모리 할당. 매개변수, 지역변수, 연산 중간결과 등을 저장.
메소드가 작업을 마치면 메모리 반환
3. 힙 (Heap)
인스턴스가 생성되어 저장되는 메모리 영역. 인스턴스 변수 포함
public class ClassData {
public static int classVP = 1;
public static Card classVR = new Card();
public int instanceVP = 11;
public Card instanceVR = new Card();
public void method(){
int localVP = 111;
Card localVR = new Card();
...
}
}
'Study' 카테고리의 다른 글
(Java/RSA) Java RSA 암호화/복호화 구현 (1) | 2020.05.21 |
---|---|
(Java) 참조 유형 (Strong Reference/ Soft Reference/ Weak Reference/ Phantom References) (0) | 2020.04.22 |
JPA란? 왜사용하나요? 짧은 답변 (0) | 2020.03.30 |
(MySQL / MariaDB) Too many connections 해결 (max connections 오류) (2) | 2020.01.19 |
[2019 정보처리기사 실기 3회] 공부 방법 및 시험 후기 및 자료 (4) | 2019.11.07 |
댓글