//
Search
👣

0623

JAVA

Stack
Heap 영역에 생성된 Object 타입(Reference Type)의 데이터의 참조값이 할당된다.
원시타입의 데이터가 값과 함께 할당된다.
지역변수들은 scope 에 따른 visibility 를 가진다.
각 Thread 는 자신만의 stack 을 가진다.
Stack 에는 heap 영역에 생성된 Object 타입의 데이터들에 대한 참조를 위한 값들이 할당됩니다.
또한, 원시타입(primitive types) - byte, short, int, long, double, float, boolean, char 타입의 데이터들이 할당됩니다.
Heap
Heap 영역에는 주로 긴 생명주기를 가지는 데이터들이 저장됩니다 (대부분의 오브젝트는 크기가 크고, 서로 다른 코드블럭에서 공유되는 경우가 많습니다) ,주로 인스터스
애플리케이션의 모든 메모리 중 stack 에 있는 데이터를 제외한 부분이라고 보면 됩니다
모든 Object 타입(Integer, String, ArrayList, ...)은 heap 영역에 생성됩니다(Referece 타입의 객체)
몇개의 스레드가 존재하든 상관없이 단 하나의 heap 영역만 존재됩니다
Heap 영역에 있는 오브젝트들을 가리키는 레퍼런스 변수가 stack 에 올라가게 됩니다