자바메모리구조
-
JVM 메모리 - heap, stackTECH/Java 2022. 8. 7. 11:24
JVM의 메모리는 크게 힙, 스택, 메타 영역으로 나뉜다. 그 중 스택과 힙 영역에 대해 먼저 알아보자. Stack 스택은 쓰레드 생성과 함께 생성된다. 쓰레드는 자신의 스택만 볼 수 있다. 즉 쓰레드 세이프하다.(다른 쓰레드의 데이터를 볼 수 없다.) 함수가 호출될 때 파라미터의 복제본이 스택에 push되고, 해당 함수의 변수들도 스택에 push 된다. 함수가 리턴할 때 스택에 저장된 데이터들이 pop된다. LIFO 구조 Stack에 접근하는 것은 heap 메모리에 접근하는 것보다 빠르다. Heap 스택은 객체와 같은 복잡한 데이터를 저장하는데 사용할 수 없다. primitive 타입과 같은 단순한 데이터 타입만 저장할 수 있ㄷ가. 스택에 저장되지 않은 모든 데이터는 heap에 저장된다. 스택과 달리 ..