Java Virtual Machine is software that converts the required part of the byte code into its equivalent executable code. Java Virtual Machine loads executable code into Random Access Memory. This code will get executed by the local operating system then deletes the executable code from the Random Access Memory.
The JVM is a machine within a machine, this machine facilitates java bytecode to be effected on any processor not considering of the operating system as actions or operating system calls. Once the Java Virtual Machine has been implemented for a given platform (any operating system) any java program can run on that particular platform.
The Java Virtual Machine converts a .class file into its equivalent executable code. Now if a Java Virtual Machine is in windows operating system environment then it converts its equivalent executable code and this executable code will be understood by windows operating system environment only.
In the same way, if a Java Virtual Machine is in UNIX or another operating system environment then it converts its equivalent executable code and this executable code will be understood by UNIX or another operating system environment only.
The Interpretation of bytecode
The Java virtual machine can either interpret the bytecode one instruction at a time or the bytecode can be compiled additional for the real processor using the just-in-time compiler. But the platform independency of the Java Virtual Machine is not considered while saying Java is platform independent, this is because Java Virtual Machine is supplied free of cost through the internet.
The Java virtual machine is specifically available for different hardware and software platforms. The Java Virtual Machine provide write once and run anywhere programming facility, we can say that the Java virtual Machine is an essential component of the Java platform.