Every Java developer knows that byte code will be executed by JRE (Java Runtime Environment). But many doesn't know the fact that JRE is the implementation of Java Virtual Machine (JVM), which analyses the byte code, interprets the code, and executes it.