자바 메모리 구조

  • 메서드 영역 : 클래스 정보를 보관, → 붕어빵 틀 보관
    • 클래스 정보 - 클래스의 실행 코드, 필드, 메서드와 생성자 코드 등 모든 실행 코드 존재하는 공간
    • static 영역 - static 변수들을 보관
    • 런타임 상수 풀 - 리터럴 상수들을 효율적으로 묶어서 관리하는 공간
  • 스택 영역 : 실제 프로그램이 실행되는 영역, 메서드를 실행할 때마다 하나씩 쌓인다. → 붕어빵을 만드는 레시피 보관
    • 스택 프레임 - 메서드(기능)이 호출될 때 마다 하나의 스택 프레임이 쌓이고, 메서드가 종료되면 해당 스택 프레임이 제거된다.
  • 힙 영역 : 객체(인스턴스)가 생성되는 영역, new 명령어를 사용하면 이 영역을 사용, 배열도 객체 이므로 여기에 생성된다. → 붕어빵 틀로부터 만들어진 붕어빵들 보관
    • 사용하지 않는 객체는 GC이 이루어져 GC에 의해 제거된다.

자바 메모리 구조

  • 메서드 영역 : 클래스 정보를 보관, → 붕어빵 틀 보관
    • 클래스 정보 - 클래스의 실행 코드, 필드, 메서드와 생성자 코드 등 모든 실행 코드 존재하는 공간
    • static 영역 - static 변수들을 보관
    • 런타임 상수 풀 - 리터럴 상수들을 효율적으로 묶어서 관리하는 공간
  • 스택 영역 : 실제 프로그램이 실행되는 영역, 메서드를 실행할 때마다 하나씩 쌓인다. → 붕어빵을 만드는 레시피 보관
    • 스택 프레임 - 메서드(기능)이 호출될 때 마다 하나의 스택 프레임이 쌓이고, 메서드가 종료되면 해당 스택 프레임이 제거된다.
  • 힙 영역 : 객체(인스턴스)가 생성되는 영역, new 명령어를 사용하면 이 영역을 사용, 배열도 객체 이므로 여기에 생성된다. → 붕어빵 틀로부터 만들어진 붕어빵들 보관
    • 사용하지 않는 객체는 GC이 이루어져 GC에 의해 제거된다.
     

'자바 공부 > [ 完 ] 자바 실전 - 기본편' 카테고리의 다른 글

7-3 static 변수  (0) 2024.03.09
7-2 스텍과 큐 자료구조  (0) 2024.03.09
6. 접근 제어자  (0) 2024.03.07
5. 패키지  (0) 2024.03.06
4. 생성자  (0) 2024.03.06

+ Recent posts