I often see new programmers and regular computer users trying to get java on their machines because “that website said so” or for some programming, getting confused on what they should download.

I admit there are too many acronyms in the computing world and sometimes they are not completely necessary, or at least could be simplified for the sake of the general public. So I’ll try to explain in a short post the differences so these doubts go away:


Just want to run an application or website that is asking for java? Get the JRE
Want to develop some java programs? Get the JDK

The “Longer” Explanation

First and foremost it helps if you know what the weird acronyms stand for:
JREJava Runtime Environment
JDKJava Development Kit
JFKJohn Fitzgerald Kennedy (this is a joke! Just to test if you are paying attention to what we are talking here)

So by knowing the acronyms it is already easier to understand what they are and what they can be used for. I do like the following picture that oracle has in its website:

A table showing what parts constitute the JDK
JDK Structure [Source: Oracle]
As you can see, the JDK has the complete stack which includes some tools and API’s as well as the language itself. This allows someone who downloads it to develop programs by making use of these building blocks.
The JRE contains a subset of the JDK, which has only the necessary parts to show the programs that were previously created by developers making use of the Java language and its tools and APIs. Because the code generated from the compilation of programs run inside the Java Virtual Machine (JVM), you don’t need the complete JDK if you just want to run a program.

That is it!

Leave your opinion, start a discussion, share an experience or just a compliment...

%d bloggers like this: