Difference between JRE and SDK
Key difference: JRE stands for Java Runtime Environment. It is Oracle's Java execution environment which is used to execute Java bytecode. On the other hand, SDK or software development kit is a set of software development tools. These are primarily used to create various applications. JRE is used to run these and other Java programs.
JRE stands for Java Runtime Environment. It is Oracle's Java execution environment which is used to execute Java bytecode. On the other hand, SDK or software development kit is a set of software development tools. These are primarily used to create various applications. These applications can then be used for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform. Java’s SDK is JDK or Java Development Kit. This is the most commonly used SDK.
SDKs often include files to interface to a particular programming language, sophisticated hardware to communicate with a certain embedded system, tools for debugging aids and other utilities, as well as sample code, supporting technical notes or other supporting documentation for clarifying points from the primary reference material. Similarly, JDK comes with JRE and various development tools like Java libraries, Java source compilers, Java debuggers, bundling and deployment tools.
The difference between JRE and SDK can be summed up as such. The SDK or rather JDK can be used to compile programs into Java bytecode. The Java bytecode is a standardized portable binary format which typically comes in the form of .class files. Programs can be of many classes and in different files.
In order to run a program on a Java Virtual Machine (JVM), the program must be complied into Java bytecode. This makes it easier to run the program on any operating system. Otherwise, the program must be compiled individually for each operating system. JVM gives programmers a standard format to work on.
In order to run the program, the bytecode must then be converted into corresponding commands which will be understood by the local operating system. JRE is used to do this. There are different versions of JRE which translate the bytecode for their corresponding operating system, i.e. one for Windows XP, one for Windows Vista, one for Windows 7, one for Mac Snow Leopard, etc. The entire function of JRE is to allow the computer to run the Java program.
Essentially, JDK is used to write or compile one’s own Java programs, whereas JRE is used to run these and other Java programs, which are readily available on the internet. A number of apps and games are currently based on Java.
Image Courtesy: digitaltrends.com, advancedinstaller.com