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.