Difference between JRE,JVM and JIT

JRE(java Runtime Enviroment)JRE is Superset of JVM it contains JVM,Class liberaries and other  packages required for running a java program.JVM runs the program and uses class liberaries and other files required provided by the JRE therefore on any system where we want to run the java program we need to have JRE

JVM(Java Virtual machine)
JVM is responsible for converting the byte code to machine code whereas Javac is the java compiler for converting .java to .class that is for compliling the java programs
JVM resides on RAM the class loader component loads the class files and ByteCodeVerifier verifies if there is any access violation

JIT(Just In Time Complier)
JVM uses JIT technology so the bytecode source is only translated once to the native CPU instruction set.