[Java] 개념 - JVM
Updated:
JDK, JRE, JVM 개념 파악하기
JVM 이란?
- 자바 가상 머신.
- JAVA와 OS 중개자 역할. OS 상관없이 재사용 가능하게 함
- OS, 기기 환경과 무관하게 프로그램을 실행시킨다
- 메모리관리. Garbage collection을 통해 메모리를 효율적으로 관리한다
- 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것
동작
- Java 소스코드(.java) 작성된 프로그램 실행
- JVM이 OS로부터 필요한 메모리를 할당
- 자바 컴파일러(javac)가 Java 소스코드(.java)를 JVM이 인식 가능한 클래스 파일(Byte Code = .class 파일)로 변환
- Class Loader(클래스로더)를 통해 class 파일을 JVM 으로 로딩
- 로딩 된 class파일을 Execution engine(실행 엔진)으로 해석 : 클래스 파일(Byte Code)을 OS가 해석 가능한 기계어(Binary Code)로
- 해석된 코드가 Runtime Data Areas에 배치되어 수행
- 실행과정 중에 JVM이 Thread Synchronization, GC 관리 작업
참고
- https://images.shiksha.com/mediadata/articleCtaPdf/137757.pdf?v=1698780541
- https://inpa.tistory.com/entry/JAVA-☕-JDK-JRE-JVM-개념-구성-원리-💯-완벽-총정리#jre_java_runtime_environment
Leave a comment