Java

자바 메모리구조 아주 간략하게

훈지런 2022. 6. 3. 21:12

자바 메모리 구조는 이것저것 복잡하게 많겠지만 단순하게 요약하자면

 

힙영역, 스택영역, 메소드영역정도로 구분하면 될거같다.

 

메소드 영역

클래스, 인터페이스, static 변수 등을 저장하는 영역.
한마디로 JVM이 실행되면서 생기는 영역이다.
모든 스레드가 공유한다.

 

힙 영역

new를 통해 생성된 객체와 배열 인스턴스들이 자리잡고있는 영역.
물론 메소드 영역에 올라가있는 객체만 생성가능하다.
기본형 타입 데이터가 아니고 레퍼런스타입 객체들만 이용가능한 영역.
갈비지 컬렉터가 사용하지않는 데이터를 지워줘야만 힙 영역에서 사라진다.
모든 스레드가 영역을 공유한다.

 

스택영역

함수안에 잠깐 존재하다가 사라지는 지역변수같은 애들이 이용하는 영역
스택영역이란 이름답게 FILO이다.
사용되고 사라져 버리는 영역이고 기본형타입인 지역변수가 아닌 레퍼런스 타입의 변수인 경우엔 해당하는 힙영역의 주소값을 기억하고있다.
스래드마다 하나씩 가지고있다.

 

'Java' 카테고리의 다른 글

클래스, 객체, 인스턴스  (0) 2022.10.06
Map  (0) 2022.06.14
배열, List  (0) 2022.06.11
hashcode와 String 의equals 함수  (0) 2022.06.02
SOLID 원칙  (0) 2022.06.02