Java 메모리 구조

지정욱·2023년 12월 28일
0

자바의 메모리 구조에는 크게 메서드 영역, 스택 영역, 힙 영역으로 나눌 수 있다.

  • 메서드 영역 : 클래스 정보(실행코드), 필드, 메서드와 생성자 등 모든 코디가 존재한다. 또한 static 영역과 상수들을 관리한다.
  • 스택 영역 : 실제 프로그램이 실행되는 영역으로 자바 실행 시, 하나의 실행 스택이 생성된다. 각 스택 프레임은 지역 변수, 메서드 호출 정보 들을 포함한다.
  • 힙 영역 : 객체(인스턴스)가 생성되는 영역이다. new명령어를 사용하면 힙 영역을 사용하게 된다. 만약 참조되지 않는 객체가 있다면 가비지컬렉터에 의해 제거된다.
    힙 영역에는 만약 객체가 100개 생성된다면 힙 메모리에 100개의 객체(인스턴스)가 생기게 된다. 같은 클래스로 부터 생성된 객체라도, 인스턴스 내부의 변수 값은 서로 다를 수 있지만, 메서드는 공통된 코드를 공유한다. 따라서 메서드는 메서드 영역에서 공통으로 관리되고 실행된다.
profile
T자형 개발자가 되자

0개의 댓글