Why Java is called Machine Independent?
While a java program is compiled this is not converted in an executable code. Rather, this is converted in a byte code. Byte code is highly optimized set of instructions designed to be executed through java run time system termed as java Virtual Machine (i.e. JVM). Translating a program in byte code assists make this much easier to run a program on variety of environments. Only JVM requires to be implemented for all platforms. Interpreters for different plat forms can interpret similar byte code.