본문 바로가기
java

[java] 자바 가상 머신(JVM : Java Virtual Machine)

by hs_seo 2019. 6. 3.

JVM은 자바 파일(.java)을 컴파일하여 생성한 자바 바이트 코드(.class)를 해석하여 실행하는 인스턴스입니다. 자바는 한번 쓰고, 여러곳에서 사용하는 것을 목표로 하기 때문에 플랫폼에 독립적인 자바 바이트 코드를 생성하여 실행합니다.

 

 

JVM은 각 플랫폼에 맞게 구현되고, 자바 바이트 코드가 각 플랫폼의 JVM위에서 동작합니다. JVM은 정해진 규격에 맞게 구현되기 때문에 바이트 코드가 같은 결과를 내는 것은 보장합니다. 하지만 처리 속도는 보장하지 않습니다. 각 제조사마다 세부적인 구현은 다르기 때문입니다.

 

JVM의 종류는 다음의 위키에서 확인할 수 있습니다. 그 중에서 오라클의 HotSpot과 IBM JVM이 유명합니다.

https://en.wikipedia.org/wiki/List_of_Java_virtual_machines

 

List of Java virtual machines - Wikipedia

This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include a large number of Java ME vendors. Note that Java EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optim

en.wikipedia.org

JVM의 구성은 다음의 슬라이드에서 확인할 수 있습니다.

 

 

자바 버전별 JVM의 구현 스펙은 여기서 확인할 수 있습니다.

https://docs.oracle.com/javase/specs/

 

Java SE Specifications

Java Language and Virtual Machine Specifications Java SE 12 Released March 2019 as JSR 386 The Java Language Specification, Java SE 12 Edition HTML | PDF The Java Virtual Machine Specification, Java SE 12 Edition HTML | PDF Java SE 11 Released September 20

docs.oracle.com

 

반응형