달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준문제풀이
  • Algorithm
  • 알고리즘풀이
  • math
  • BRONZE
  • programmers
  • Bronze III
  • 혼공MySQL
  • 백준알고리즘
  • MySQL
  • Scanner
  • react
  • 알고리즘
  • 백준
  • 혼자공부하는SQL
  • BOJ
  • sql 문제풀이
  • HTML
  • SQL
  • java
  • Bronze IV
  • 프로그래머스
  • select
  • BOJ algorithm
  • 자바
  • 혼공SQL
  • 문제풀이
  • Bronze V
  • SQL고득점Kit
  • java algorithm

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

개념 창고/JAVA

자바 메모리 영역(Method, Stack, Heap)

2023. 1. 17. 22:26

자바의 메모리 공간은 크게 Method 영역, Stack 영역, Heap 영역으로 구분되고, 데이터 타입에 따라 할당된다.
메소드(Method) 영역 : 전역변수와 static변수를 저장하며, Method영역은 프로그램의 시작부터 종료까지 메모리에 남아있다.
스택(Stack) 영역 : 지역변수와 매개변수 데이터 값이 저장되는 공간이며, 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제된다. LIFO(Last In First Out) 구조를 갖고 변수에 새로운 데이터가 할당되면 이전 데이터는 지워진다.
힙(Heap) 영역 : new 키워드로 생성되는 객체(인스턴스), 배열 등이 Heap 영역에 저장되며, 가비지 컬렉션에 의해 메모리가 관리되어 진다.

각 메모리 영역이 할당되는 시점
Method 영역 : JVM이 동작해서 클래스가 로딩될 때 생성
Stack 영역 : 컴파일시 할당
Heap 영역 : 런타임시 할당
 
※ 컴파일 타임 : 소스코드가 기계어로 변환되어 실행가능한 프로그램이 되는 과정
※ 런타임 : 컴파일 타임 이후 프로그램이 실행되는 때 

저작자표시 비영리 변경금지 (새창열림)

'개념 창고 > JAVA' 카테고리의 다른 글

[Java] 문자열(String) 비교시 equals()와 == 차이  (0) 2024.07.30
[Java] Unsigned int 구현 방법  (0) 2024.01.31
[Java] BigInteger 사용 이유, 형변환, 두 수 비교  (0) 2022.12.21
[Java] char는 사실 문자가 아닌 정수다.  (0) 2022.12.08
char를 문자열로 변환하는 방법(3가지)  (0) 2022.12.08
    '개념 창고/JAVA' 카테고리의 다른 글
    • [Java] 문자열(String) 비교시 equals()와 == 차이
    • [Java] Unsigned int 구현 방법
    • [Java] BigInteger 사용 이유, 형변환, 두 수 비교
    • [Java] char는 사실 문자가 아닌 정수다.
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바