728x90
출처: https://doozi0316.tistory.com/entry/1주차-JVM은-무엇이며-자바-코드는-어떻게-실행하는-것인가
JVM 이란 ?
- JAVA와 OS 사이에 중개자 역할
- Java가 OS에 구애받지 않고 독립적으로 작동 가능
- 즉, java 코드 수정없이 linux, window,macOS등 jvm이 구현된 운영체제에서는 사용이 가능
- WORA (WriteOnce Run Anywhere)
OS에 종속되지 않는 이유
- Java 코드는 컴파일러를 통해 Java bytecode로 변환됨
- JVM이 OS가 Java bytecode를 이해할 수 있도록 해석해줌
JVM이 어떻게 OS가 이해할 수 있도록 해석해주는 가?
- JIT 컴파일러에 의해 OS가 이해할 수 있는 기계어 즉, 바이너리 코드로 변환
- JIT 컴파일러
[JAVA] JIT 컴파일러란??
배경 JAVA의 원시코드(.java)를 자바 컴파일러를 통해 바이트코드로 변경 변경된 코드를 JVM에서 자바 인터프리터로 기계어로 변경 하지만 인터프리터는 너무 느림 JIT(JUST IN TIME) 컴파일러를 추가해
ddevgrit.tistory.com
기계어
- 0,1로 이루어진 바이너리 코드,
- CPU가 이해하는 명령어의 집합
JVM 구조
JVM의 구조
전체 구조 클래스로더 실행 엔진 인터프리터 jit 컴파일러 가비지 콜렉터 런타임 데이터 영역 메소드영역 힙영역 PC Register 스택 영역 네이티브 메소드 실행 순서 bytecode로 변환된 코드가 jvm에 들
ddevgrit.tistory.com
728x90
'JAVA' 카테고리의 다른 글
가비지 컬렉션(Garbage Collection) 동작원리 (1) | 2024.02.01 |
---|---|
JVM의 구조 (0) | 2024.01.27 |
[JAVA] JIT 컴파일러란?? (0) | 2024.01.26 |
Thread (2) | 2024.01.24 |
합성 (0) | 2024.01.20 |