How is Java platform independent?
Categories: Java 8(JDK1.8)
The meaning of platform-independent is that the java compiled code(byte code) can run on all operating systems. A program is written in a language that is a human-readable language. It may contain words, phrases, etc which the machine does not understand. For the source code to be understood by the machine, it needs to be in a language understood by machines, typically a machine-level language. So, here comes the role of a compiler. The compiler converts the high-level language (human language) into a format understood by the machines. Therefore, a compiler is a program that translates the source code for another program from a programming language into executable code.
This executable code may be a sequence of machine instructions that can be executed by the CPU directly, or it may be an intermediate representation that is interpreted by a virtual machine. This intermediate representation in Java is the Java Byte Code.
Step by step Execution of Java Program:
1. Whenever, a program is written in JAVA, the java c compiles it.
2. The result of the JAVA compiler is the .class file or the bytecode and not the machine native code (unlike C compiler).
3. The bytecode generated is a non-executable code and needs an interpreter to execute on a machine. This interpreter is the JVM and thus the Bytecode is executed by the JVM.
4. And finally program runs to give the desired output.