What is JVM, JRE and JDK in Java?

To develop a java application, we should have a compiler which accepts and converts what we code in Java language into byte code. The compiler which accepts Java comes in a kit called Java Development Kit (JDK). We can use this JDK to compile the code. You will learn how to program using this JDK in next topic.

Java Runtime Environment consists of libraries, JVM and many other components which are needed to run a program. It consists of plug-ins which create a environment to run the code. If we want to run a application which is developed using Java, JRE must be installed in that machine.

Java Virtual Machine (JVM) is the virtual machine which runs the developed Java bytecode. It is packaged in the JRE for running the bytecodes.

The JDK which is provided by Oracle Corp consists all JRE, JDK and JVM together. We need not needed to install each one separately.

How does a program work, what is compiler and the bytecodes ?