A Java virtual machine (JVM), an implementation of the Java Virtual Machine Specification, interprets compiled Java binary code for a computer’s processor or hardware the platform, so that it can perform a Java program’s instructions which is designed to allow app programs for building to run without rewritten or recompiled by the programmer for each separate platform. A Java virtual machine makes this possible because it is aware of the specific instruction lengths.

JVMs are available for many hardware and software platforms it depends on the platform. If you want to know JAVA deeply then join the best institute of JAVA training in Delhi which provides you the best training with placement and helps to increase your skill and personality.
JVM working to implement the provider is independent to choose the algorithm. JVM implementation has been
provided by Oracle and other companies.
JVM Architecture
Java Virtual Machine
Internal Architecture of JVM

JVM is an abstract machine. It is a specification that provides a runtime environment in which Java bytecode can be executed.What JVM performs see below: Loads code
Verifies code
Executes code
Provides runtime environment
JVM provides definitions for the:
Memory area
Class file format
Register set
The JVM Specification defines an abstract rather than a machine or processor. The Specification specifies an instruction set of registers, a stack, heap of garbage and a method area. JVM is implemented for a given platform, any Java program can run on that platform. A Java virtual machine can either interpret the bytecode one instruction at a time can be compiled further for the real processor using what is called a just-in-time compiler.