목표
자바 소스 파일을 JVM 으로 실행하는 과정 이해하기
학습할 것
- JVM 이란 무엇인가
- 컴파일 하는 방법
- 실행하는 방법
- 바이트코드란 무엇인가
- JIT 컴파일러란 무엇이며 어떻게 동작하는지
- JVM 구성요소
- JDK 와 JRE 의 차이
JVM 이란 무엇인가?
- JVM 이란 Java Virtual Machine 의 줄임말으로 추상적인 컴퓨터 머신이라고 이해하는게 좋지 않을까 싶다.
여기서 추상적이라는 표현을 쓴 이유는 JVM 명세 ( 무엇무엇을 필수적으로 구현해야 한다) 이런것들이 적혀있고, 그걸 실제로 구현한것이 Oracle JVM , Amazone JVM 등등이 있는 것으로 알고 있다.
컴파일 하는 방법
- 컴파일은 JDK(java development kit) 에 있는 javac 를 이용해서 java byte code 파일로 컴파일 해주어야 한다. JVM 자체는 자바 파일을 실행시키는 것이 아니라 Java Byte Code 를 실행시켜주는 것이므로, 우리는 한 단계의 컴파일 과정을 일단 해주어야 한다.
javac Hello.java
- 위와 같은 명령어를 입력하면
Hello.class
파일이 생기게 된다. JVM 은 해당 파일을 실행시키게 된다.
- 바이트 코드를 조금 더 이해하기 쉽게 보려면 아래와 같은 명령어를 이용하면 된다.
javap -c Hello.class
- 이러면 조금 더 이해하기 쉬울 뿐더러 잘 이해는 가지 않지만 아래 링크를 보고 공부해볼 수 있다.