Get this on action on youtube –
Comparison | JDK | JRE | JVM |
---|---|---|---|
Definition | A software development kit used to develop Java applications | A software package that contains what is required to run a Java application | An abstract computing machine that enables a computer to run a Java program |
Includes | Compiler (javac), interpreter (java), libraries, documentation, other tools | Interpreter (java), libraries, Java Plug-in (for running Java applets in a web browser) | JIT, Libraries and class files |
Purpose | To develop Java applications | To run Java applications | To execute Java bytecode |
Installation | Required to develop Java applications | Required to run Java applications | Comes bundled with JDK or JRE |
💡(1) J.V.M (Java Virtual Machine)-
J.v.m = j.i.t(just-in-time compiler)+cache
💡-> J.v.m Doesn’t exists physically, It just resides in RAM
💡-> J.v.m provides specifications to execute java byte-code.
💡-> J.v.m is platform dependent and easily available for many platforms(OS)
Note – We can’t refer any particular file as windows, it’s a group of specifications which provides environment to run software, similarly JVM only runs Java compiled codes(bytecodes).

*JVM internal architecture*-

💡(2)JRE (Java Runtime Environment)-
💡–> implementation of JVM.
💡–> physically exists.
JRE = JVM + Set of libraries (i.e. jar) + Other Files
Note – To run java program we only need to install JRE, to develop java program we need to install JDK.

💡(3)JDK (Java Development Kit)-
💡–> physically exists.
💡 JDK = JRE + Development tools(i.e. javac, java etc)

Interview Questions —
- How to install JVM?
- Is Windows JVM different than Linux/Mac JVM?
- Does installing JDK automatically installs JRE and JVM ?
you can consider jvm as a computer for which machinre language is bytecode .
And jre builds this virtiual computer (i.e jvm) on your machine(p.c) so it can run program .
LikeLiked by 3 people
Sir can you plz elaborate some useful tools(Java,javaw,javap etc.) of jdk
LikeLiked by 2 people
yes, of course…
Basic Tools
These tools are the foundation of the JDK. They are the tools you use to create and build applications.
1-javac The compiler for the Java programming language.
2-java The launcher for Java applications.
3-javadoc API documentation generator.
4-apt Annotation processing tool.
5-jar Create and manage Java Archive (JAR) files.
6-jdb The Java Debugger.
7-javap Class file disassembler
LikeLiked by 2 people