JVM - Java Virtual Machine

In Java, a compiler translate the Java source code into an intermediate code known as bytecode for virtual machine known as JVM (Java Virtual Machine). Bytecode is the machine language for JVM and is not machine specific; instead, the machine-specific code is generated by the Java interpreter, which serves as a mediator between virtual machine and real machine.

Java implements the JVM. Which is the application that actually executes the Java program. When JVM is installed on a computer, it can run Java programs, Java programs therefore do not need to be self-sufficient, and they are not required to include all the machine-level code that actually runs on the computer. JVM reads and interpret bytecodes to run your Java program. Your output is stored in bytecode to get your output you have to execute or interpret bytecode you need to install JVM (Java Virtual Machine) on your computer.

You need a java interpreter to run a java program on different computers. A java interpreter is required to execute the bytecode, of a java program, and the interpreter depends on the type of operating system installed on the machine. In other words, the most important feature of java is that same compiled program can run on any operating system.