The JRE’s bin directory

We certainly know common executables like javac.exe and java.exe – but when looking into the bin directories of a JRE or JDK installation, there are a lot more executables. What is their purpose? Lets first check the JRE – the following executables are contained in an JRE’s bin directory, and in most cases they are also replicated in the bin directory of the JDK:

Java application launchers

java.exe
The console applications java launcher. Starts a Java Virtual Machine process and launches a Java application. On MS-Windows, this executable opens a console window.

javaw.exe
Same as java.exe, but does not open a console window. This is the launcher which is usually used to run GUI based applications on MS-Windows.

javaws.exe
The java webstart executable. This is the launcher which is executed by the browser when a .jnlp file has been clicked.

jp2launcher.exe
Combined applet and Webstart launcher, used by Webstart as of 7u65. Only contained in the JRE, but not in the JDK bin directory.

javacpl.exe
Java Management console – only contained in the JRE, but not in the JDK bin directory. Launches the management console which can also be started through the operating system’s control panel. Used to define global properties for the JRE, such as the security level.

RMI and CORBA related

java-rmi.exe
This is a launcher which was meant to be used for RMI-CGI gateways, but it is broken and should be removed. See https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6512052 and https://stackoverflow.com/questions/25055466/what-is-java-rmi-exe for more information.

rmid.exe
Starts the activation system daemon. See the tutorial at https://docs.oracle.com/javase/8/docs/technotes/guides/rmi/activation/overview.html for more information.

rmiregistry.exe
Starts the RMI registry naming service. RMI objects can register themselves with this service so that RMI clients can look up the objects by their name.

orbd.exe
The CORBA object request broker daemon.

tnameserv.exe
Standalone CORBA naming service.

servertool.exe
Command line interface to register, unregister, startup and shutdown a persistent CORBA server.

Security related

keytool.exe
Command line tool to manage cryptographic keys and certificates.

kinit.exe
Command line tool to obtain Kerberos tickets.

klist.exe
Command line tool to list entries from the Kerberos credential cache and key table.

ktab.exe
Command line tool to manage entries in the Kerberos key table.

policytool.exe
GUI tool to edit java policy files which are used by the Java 2 Security Manager.

Others

pack200.exe / unpack200.exe
Advanced compression tool, especially optimized for .jar files.

ssvagent.exe
The Java update agent. This application is responsible to check for JRE updates. Only contained in the JRE bin directory, not in the JDK.

jabswitch.exe
Enables or disables the Java Access Bridge. This allows functionality provided by the Java Accessibility API to be avilable to assistive technologies on MS-Windows. See https://docs.oracle.com/javase/7/docs/technotes/guides/access/enable_and_test.html for more information.