Before developed program in java we have need to understand concepts of JDK,
JRE and JVM in java.
JDK-: JDK (Java Development Kit) is a bundle of software component. JDK is an implementation of either of Java SE, Java EE or Java ME. It includes the Java Runtime Environment (JRE), an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator (javadoc) and other tools needed in Java development.
JRE-: JRE (Java Runtime Environment) contains JVM, class libraries, and other supporting files. It does not contain any development tools such as compiler, debugger, etc. Actually JVM runs the program, and it uses the class libraries, and other supporting files provided in JRE. If you want to run any java program, you need to have JRE installed in the system
JVM-: In java when we compile our code then output not in exe file but it is a class file and class file consists of java byte codes which are understandable by JVM (Java Virtual Machine). JVM interprets the byte code to machine code depending upon the underlying operation system and hardware combination. The JVM is called “virtual” because it provides a machine interface that does not depend on the underlying operating system and machine hardware architecture. JVM is platform dependent. It is responsible for all the things like garbage collection, array bounds checking, etc.
What is JIT Compiler (Just- In Time Compiler)?
JIT compiler is a component of JRE (Java Runtime Environment). It improves the performance of Java Application’s by compiling bytecode to native machine code at run time. When a Java program is run JVM launched that interprets the byte code and provides result. At run time, the JVM loads the class files, determines the semantics of each individual bytecode, and performs the appropriate computation.