JVM은 클래스 파일과 명령의 동작을 정의하는 Java 가상 머신이다. 구체적인 운영체제 위의 구현체가 이 명세에 맞추어 코드를 실행한다.
Java 실행과 API |
|---|
JVM · javac · Java 바이트코드 · Java 가비지 컬렉션 · Java 제네릭 |
Java 인터페이스 · Java 예외 처리 · Java Stream API · Java Optional · Java 리플렉션 |
원리
클래스 로딩과 실행, 메모리 영역 및 명령 동작을 규정한다. 인터프리터나 JIT 최적화 같은 내부 전략은 구현체마다 달라질 수 있다.
예시
Java뿐 아니라 JVM을 대상으로 컴파일하는 다른 언어의 클래스도 실행할 수 있다. 같은 형식의 코드가 여러 플랫폼의 구현체에서 동작하도록 설계된다.
주의할 점
가상 머신 명세와 특정 제품의 성능 특성을 혼동하지 않는다. 외부 라이브러리와 운영체제 기능까지 자동으로 호환되는 것은 아니며 클래스 파일 버전도 맞아야 한다.