Differences between Java SE JRE or Java SE JDK distributions
suggest changeSun / Oracle releases of Java SE come in two forms: JRE and JDK. In simple terms, JREs support running Java applications, and JDKs also support Java development.
Java Runtime Environment
Java Runtime Environment or JRE distributions consist of the set of libraries and tools needed to run and manage Java applications. The tools in a typical modern JRE include:
- The
java
command for running a Java program in a JVM (Java Virtual Machine) - The
jjs
command for running the Nashorn Javascript engine. - The
keytool
command for manipulating Java keystores. - The
policytool
command for editing security sandbox security policies. - The
pack200
andunpack200
tools for packing and unpacking “pack200” file for web deployment. - The
orbd
,rmid
,rmiregistry
andtnameserv
commands that support Java CORBA and RMI applications.
“Desktop JRE” installers include a Java plugin suitable for some web browser. This is deliberately left out of “Server JRE” installers.linux syscall read benchmarku
From Java 7 update 6 onwards, JRE installers have included JavaFX (version 2.2 or later).
Java Development Kit
A Java Development Kit or JDK distribution includes the JRE tools, and additional tools for developing Java software. The additional tools typically include:
- The
javac
command, which compiles Java source code (”.java”) to bytecode files (”.class”). - The tools for creating JAR files such as
jar
andjarsigner
- Development tools such as:
- `appletviewer` for running applets
- `idlj` the CORBA IDL to Java compiler
- `javah` the JNI stub generator
- `native2ascii` for character set conversion of Java source code
- `schemagen` the Java to XML schema generator (part of JAXB)
- `serialver` generate Java Object Serialization version string.
- the `wsgen` and `wsimport` support tools for JAX-WS
- Diagnostic tools such as:
- `jdb` the basic Java debugger
- `jmap` and `jhat` for dumping and analysing a Java heap.
- `jstack` for getting a thread stack dump.
- `javap` for examining ".class" files.
- Application management and monitoring tools such as:
- `jconsole` a management console,
- `jstat`, `jstatd`, `jinfo` and `jps` for application monitoring
A typical Sun / Oracle JDK installation also includes a ZIP file with the source code of the Java libraries. Prior to Java 6, this was the only publicly available Java source code.
From Java 6 onwards, the complete source code for OpenJDK is available for download from the OpenJDK site. It is typically not included in (Linux) JDK packages, but is available as a separate package.