The JDK is the superset of JRE. JDK has the necessary tools like javac java.exe debugger etc + JRE. But JRE has a particular implementation of JVM.
My assumption is
java.exe
is neither a JVM nor an interpreter. It is a launcher - a small program typically written in C which does the following:
jvm.dll
)main()
method using JNIJRE roughly consists of
jvm.dll
rt.jar
java.dll
, net.dll
, nio.dll
, awt.dll
etc.Now, the Bytecode Interpreter, the Bytecode Verifier, the Class Loader, the JIT compiler, the Garbage Collector and many other cool stuff - are all parts of the Java Virtual Machine.
@karthik4621 java.exe/javaw application is part of JRE look into the JRE installation directory to find bin folder, to find the executable's and the java.exe you find bundled along with JDK is also same :) for more insight on the issue i suggest you read through oracle docs as well as the quick brush up of contents of the JDK/JRE install locations –
you are right java.exe is the interpreter for JVM (java virtual machine) and JVM is where your code gets executed by communicating with the underlying OS