🎬영상후기
▶ [10분 테코톡] 🎅무민의 JVM Stack & Heap
- JVM: 디바이스가 달라짐에 따라 운영체제가 달라질 수 있는데 운영체제가 달라지면 자바코드 실행 안됨. 자바코드를 어떠한 디바이스에서든 실행될 수 있도록 해주는 게 JVM.
- JVM 구조
- Runtime Data Areas: JVM이 자바 바이트코드를 실행하기 위해 사용하는 메모리 공간.
- 모든 스레드가 공유
- method area(클래스 로더가 클래스 파일을 읽어오면, 클래스 정보를 파싱해서 Method Area에 저장.)
- heap(프로그램을 실행하면서 생성한 모든 객체를 heap에 저장.)
- 스레드마다 존재
- PC레지스터(PC=Program Counter: 각 스레드는 메서드를 실행하고 있고, pc는 그 메서드 안에서 몇 번째 줄을 실행해야 하는지 나타내는 역할.)
- Java Stack(자바 스택은 스레드 별로 한개만 존재. 스택 프레임은 메서드가 호출될 때마다 생성. 메서드 실행이 끝나면 스택 프레임은 pop되어 스택에서 제거.)
- Native Method Stack(자바 바이트코드가 아닌 다른 언어로 작성된 메서들 의미.)