개발일지/Java
Java Virtual Machine (자바 가상 머신)
E-room
2022. 9. 25. 19:00
728x90
Write Once, Run Anywhere
JVM (Java Virtual Machine)
운영체제로부터 독립적으로 동작할 수 있게 해주는 이유
자바로 작성한 소스 코드를 각 운영체제에 맞게 해석해서 실행하는 별도의 프로그램 (일종의 통역가 역할)
각 운영체제에 적합한 버전이 존재함
JVM 메모리 구조
JVM에 Java 프로그램이 로드되어 실행될 때 특정 값 및 바이트코드, 객체, 변수 등과 같은 데이터들이 런타임 데이터 영역에 저장된다
런타임 데이터 영역은 크게 5가지로 구분되어 있다
Runtime Data Area
- Stack Area
- Heap Area
- Method Area
- PC Register
- Native Method Stack
Garbage Collection
메모리를 자동으로 관리하는 프로세스
프로그램에서 더 이상 사용하지 않는 객체를 찾아 삭제하거나 제거하여 메모리를 확보한다
728x90