Enhance Java Application Startup Performance Using a Launcher Program.
Original Publication Date: 2000-May-01
Included in the Prior Art Database: 2003-Jun-18
Disclosed is a program that enhances the startup performance of a Java* application. This native launcher program enables a Java application to operate as a single instance by passing arguments to a running Java application while avoiding the loading of the JVM (Java Virtual Machine) more than once. Applications often operate through a single instance, meaning that subsequent invocations of the application pass the arguments along to the original application instance. However, doing this with Java results in the overhead of launching the JVM for each subsequent invocation of the application. In order to avoid this, the native launcher program of this disclosure may be used. As illustrated in the figure hereafter, on the first invocation of the application, the launcher allocates a segment of shared memory for use in communicating with the Java application, then launches the Java application with the name of the shared memory. Any arguments passed to the launcher on startup are passed to the Java application through the shared memory. Subsequent invocations of the launcher program recognize that a shared memory segment exists, puts the arguments there for the Java application, and exits. This avoids unnecessary launching of the JVM and makes subsequent invocations much faster. (first launch only) native launcher program Java application |-------(arguments)------------> shared memory argument thread