JVM stands for Java virtual machine .
It is an virtual machine or abstract machine that does not exist in system physically.
It is a machine within a machine behave like a real Java processor, enabling Java bytecode(code or file execute after compiling the java source code for instance abc.java ) to be executed regardless of the operating system.
SO, JVM provides a platform-independent execution environment that converts Java bytecode into machine language and executes it. Most of the programming languages compile source code directly into machine code that is designed to run on a specific microprocessor architecture or an operating system, such as Windows or LINUX.
Note:JDK should be downloaded and install according to operating system means for window (JDK window version) and for linux (JDK linux version). Because java is platform independent language but JVM is platform dependent .
For example we can compile a java program on one computer (window)then run on another computer (Linux). Like -> Socket Programming.