JRE
JVM
JDK
Test.java
javac
compilation
Interpretation
Bytecode
( Platform independent )
Machine
code
( Platform
dependent )