Difference Between JDK and JRE

JDK vs JRE

The most significant advantage of Java programs is in the ability to execute the same program on a wide variety of operating systems without the need to recompile it for each one. This is achieved by compiling the application into an intermediate language that is interpreted on the targeted operating system. The Java Runtime Environment or JRE is the software package that contains the needed applications to interpret the java application and allows it to execute on the operating system.

The Java Development Kit or JDK is Java’s spin on the more traditional SDK. It is a software package that contains the necessary tools needed in order to write, compile, and debug Java applications. Along with the compiler and debugger applications are other tools that make it easier for developers to optimize their programs so that it performs better and uses a lesser amount of memory. This includes an application that checks for jar conflicts, one that checks the stack trace, a launcher, and a header and stub generator among a lot of other experimental tools.

When you examine the downloadable JRE and JDK packages from the Java site, you would find that the JDK package is considerably bigger than that of the JRE. This is because the JDK package also includes the JRE regardless of whether you already have the JRE package installed on your computer or not.

There are also more versions of JRE available compared to JDK. This is because a java application is meant to execute in a wide variety of devices, some of which you would not be able to program in. The smaller devices include PDAs, smartphones, and even ordinary mobile phones.

Obviously, the JDK is meant for software developers and programmers who truly intend to create java applications. For the common everyday user who simply downloads java applications and uses it, the JRE should be quite enough. Downloading the JDK would only mean a longer download time and wasted hard drive space.

Summary:
1. A JRE software package is needed to use Java applications while a JDK software package is needed to create Java applications
2. A JDK software package contains everything in a JRE package along with the development tools
3. JREs are available for a much wider platform range compared to JDK
4. The JDK is meant for programmers and software developers while the JRE is for the common everyday user