The Java Development Kit (JDK) is a software environment utilized for creating Java applications and applets. It incorporates the Java Runtime Environment (JRE), a interpreter/loader (Java), a compiler (javac), an archiver (jar), a documentation generator (Javadoc) and different tools required in Java advancement. Java designers can utilize it on Windows, macOS, Solaris, and Linux. JDK encourages them to code and run Java programs. We can introduce more than one JDK version on the same PC.


JDK contains tools needed to compose Java projects and JRE to execute them. It incorporates a compiler, Java application launcher, Applet viewer, and so forth Compiler changes code written in Java into byte code. Java application launcher opens a JRE, loads the fundamental class, and runs the main method.


Java Virtual Machine (JVM) is a motor that gives a runtime environment to drive the Java Code or applications. It changes over Java bytecode into machine language. JVM is a piece of the Java Run Environment (JRE). In other programming languages, the compiler produces machine code for a specific system. In any case, the compiler generates code for a Virtual Machine known as Java Virtual Machine. Its execution has been given by Sun and different organizations. It is a PC program that meets the necessities of the JVM specs.


It gives platform independent way of running Java code. It has various libraries, frameworks and tools . When you run a program once, you can run on any platform and save loads of time. JVM accompanies JIT (Just-in-Time) compiler that changes over Java source code into low-level machine language. Thus, it runs quicker than a normal application.


JRE is a piece of programming that is intended to run other software. It includes class libraries, loader class and JVM. In basic terms, in the event that you need to run a Java program, you need JRE. In the event that you are not a software engineer, you don't have to introduce JDK, however only JRE to run Java programs .


JRE has class libraries, JVM, and other supporting records. It does exclude tools like a debugger, compiler, and so on. It utilizes significant classes like math, swing, util, lang, awt, and runtime libraries. On the off chance that you need to run Java applets, at that point JRE should be introduced in your framework.