Java Development Kit (JDK):
1) JDK provides an environment or platform to develop or Run java applications. For Example, If I am a developer, so I need JDK by which I can develop or run java applications.
2) JDK = JRE (JVM + Libraries) + Development Tools (It means JDK is a combination of JRE and Development Tools).
3) In JDK Development tools like Compiler, debugger etc.
4) In JDK Development tools like Compiler, debugger etc. In JDK (Develop program (Sample.java) → Compile program (Sample.class) → Executes (Display Welcome Java).
5) JDK is a 3 step process: Write java code, Compile java code, Execute java code.
Java Run-time Environment (JRE):
1) JRE provides an environment or platform to run java applications. It provides Runtime Environment. Here we are talking about executing java applications (i.e. provide facility to run developed java application).
2) JRE contains sets of libraries and JVM use those libraries at Runtime. For Example, If I am a Client or buyer of the java application so I need JRE by which I can run (JRE provides a platform to Run) java application I don’t need to develop or write java application.
3) JRE = JRE (JVM + Libraries). It means JRE is a combination of JVM and Libraries).
4) JRE is a part of JDK but not vice versa.
5) In JRE (Compiled program (Sample.class) → Executes (Display Welcome Java).
6) JRE is a 1 step process: 1) Execute Compiled Code.
7) JRE physically exists in the system (i.e. No virtual kind of machine or no abstract in nature).
8) To run any java code JRE is minimum required.