Sun / 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 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:
java
command for running a Java program in a JVM (Java Virtual Machine)jjs
command for running the Nashorn Javascript engine.keytool
command for manipulating Java keystores.policytool
command for editing security sandbox security policies.pack200
and unpack200
tools for packing and unpacking "pack200" file for web deployment.orbd
, rmid
, rmiregistry
and tnameserv
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).
A Java Development Kit or JDK distribution includes the JRE tools, and additional tools for developing Java software. The additional tools typically include:
javac
command, which compiles Java source code (".java") to bytecode files (".class").jar
and jarsigner
appletviewer
for running appletsidlj
the CORBA IDL to Java compilerjavah
the JNI stub generatornative2ascii
for character set conversion of Java source codeschemagen
the Java to XML schema generator (part of JAXB)serialver
generate Java Object Serialization version string.wsgen
and wsimport
support tools for JAX-WSjdb
the basic Java debuggerjmap
and jhat
for dumping and analysing a Java heap.jstack
for getting a thread stack dump.javap
for examining ".class" files.jconsole
a management console,jstat
, jstatd
, jinfo
and jps
for application monitoringA 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.