
-> 위와 같은 과정을 통한 jvm 을 통해 java 어플리케이션을 실행 할 수 있다.
(만약 jvm 이 없으면 설정해야 할 것이 정말 많다.)
-바이트 코드 : 운영체제가 읽을 수 있는 코드로 Java 컴파일러가 변환한 코드
(컴파일러 : java 파일을 .class 파일로 변환 운영체제가 읽을 수 있도록 함

-인터프리터 : 일종의 java .class 코드 해석기로서, 운영체제가 읽은 바이트코드를 기기(기계)가 실행 할 수 있도록 기계어로 번역한다.
-JIT (Just In Time) 컴파일러 : 인터프리터의 효율을 높여준다.
-메모리 영역 : 운영체제로부터 JVM이 할당받은 메모리 영역
-클래스 로더 : Java .class 바이트 코드를 메모리 영역에 담는 일종의 "운반기"
-가비지 컬렉터 : 메모리영역에서 안쓰이는 데이터를 주기적으로 흡수해 간다.

java 파일을 class 파일로 옮기는 것과 같은 활동은 불가능한 환경이다.).java파일을 .class파일로 변환해 주는 Java Compiler (javac) 기능이 있다.