충분히 쌓여가는
JVM(Java Virtual Machine) 본문
JVM
- '자바를 실행하기 위한 가상 기계'
- Virtual Machin은 소프트웨어로 구현된 하드웨어를 뜻하는 넓은 의미의 용어, 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 컴퓨터 속의 컴퓨터라고 생각
- 자바로 작성된 프로그램은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서 반드시 JVM이 필요함
- 일반 애플리케이션 코드는 OS만 거치고 하드웨어로 전달됨
- Java 애플리케이션은 JVM을 한 번 더 거치기 때문에 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석되기 때문에 속도가 느리다는 단점을 지님
- 하지만 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해주는 JIT 컴파일러와 향상된 최적화 기술이 적용되어 속도의 격차를 많이 줄였음
- 일반 애플리케이션은 OS와 바로 맞붙어 있기 때문에 OS 종속적 -> 다른 OS에서 실행시키기 위해 애플리케이션을 해당 OS에 맞게 변경
- Java 애플리케이션은 JVM하고만 상호작용 -> OS와 하드웨어에 독립적(다른 OS에서도 프로그램의 변경없이 실행가능)
- 단 JVM은 OS 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요함
- 자바의 중요한 장점인 'Wirte once, run anywhere.'가 나오게된 이유
참고자료
남궁 성. 『자바의 정석』. 도우출판, 2016. 4~5쪽
'Java' 카테고리의 다른 글
변수 variable (0) | 2023.01.06 |
---|---|
자바 클래스 작성 (1) | 2023.01.06 |
Java Programming Language (0) | 2022.12.30 |
IntelliJ 설치 (0) | 2022.12.28 |
자바 환경설정(Mac에서 JDK 설치) (1) | 2022.12.27 |