Excelsior Logo Home
Company Products Services Resources Contact
Buy   
Download   
Support   
 Forum   
 Blog   
 Sitemap

Java Runtime Slim-Down

Technology overview

The key idea behind Java Runtime Slim-Down is to exclude from the installer the components of the Java SE API that are not used by the application. For example, if your application does not use any of Swing, AWT, CORBA or, say, JNDI, Excelsior JET enables you to easily exclude (detach) the associated files from the installation.

How it works

Using Java Runtime Slim-Down includes three simple steps: compilation, packaging, and deployment.

Compilation

You run the Excelsior JET Optimizer that makes global (whole-program) analysis to figure out what Java SE components are not used by the application. Then, the Optimizer compiles application's bytecode and the used Java SE components down to native code and links them with the JET Runtime into a single executable.

Fig 1. Partitioning AOT compilation

The unused Java SE components are left intact in the bytecode form.

Packaging

Using the JET Installation Toolkit, you build two packages: the main installation package and the detached package that includes the unused components. You can wrap the main installation into Excelsior Installer bundled with Excelsior JET or use a setup generator of your choice.

Fig 2. Packaging

Deployment

You place the detached package on a Web server at the URL you assigned when creating the installation. Now you can ship the main installation to end users. Note that the JRE need not be installed on end users systems to run your Java applications.

The Web server that stores the detached package is considered a "safety net". That is, if the deployed application attempts to use any of the detached components, the JET Runtime will pull the package down from the server and load the requested Java classes.

It is however highly unlikely that a download of a detached package will occur in practice. For example, these sample applications have been downloaded hundreds of times since we published them in May 2007, but there was not a single download of a detached package.

Fig 3. Deployment

As a result, your Java applications are wrapped into a nice small installer and they run without installation of additional software (JRE) on end user systems. That is exactly what a typical consumer expects when downloading software.

Try It Yourself!

Eager to try it for your Java applications?

  1. Download a fully functional evaluation copy
  2. Get familiar with Excelsior JET by following the Getting Started tutorial
  3. Optimize your app for download size reduction as shown in this Java Runtime Slim-Down demo
  4. Learn more from Excelsior JET 7.2 User's Guide, chapter "Java Runtime Slim-Down".
You feedback and suggestions are very welcome.

Home | Company | Products | Services | Resources | Blog | Contact | Request a Call

Site: Search | Sitemap | Forum | Credits

© 1999-2010 Excelsior LLC. All Rights Reserved.