Excelsior Logo Home
Buy   
Download   
Support   
 Forum   
Blog   

Reduce Download Size of Java Applications

Excelsior JET is a certified Java SE 6 JVM with an Ahead-Of-Time (AOT) compiler and installation toolkit.

One of its unique features is the Java Runtime Slim-Down deployment model that enables you to bundle light Java SE Runtime with your application to reduce the install package size.

Available since 2007, Java Runtime Slim-Down has been proved effective for many Java applications. For GUI applications, in particular, the size of a complete installation package without dependency on the JRE starts from 5MB.

Learn how it works (and stays Java Compatible)  

Watch a demo to see it in action  

Want to give a try? Download a free trial 

Sample applications

The table below shows download size figures for a few sample applications optimized using Java Runtime Slim-Down.

Note: the JRE need not be installed on end user systems to run these Java applications.

Application GUI toolkit Download Description
JavaCC none 3.9 MB The most popular parser generator for use with Java

SWTDemo
SWT 4.6 MB Sample program taken from Eclipse SDK, illustrates common Standard Widget Toolkit (SWT) controls

jEdit
Swing 8.7 MB Popular cross platform text editor

RSSOwl
SWT+Java2D 9.4 MB Popular RSS/RDF/Atom Newsreader

PowerFolder
Swing 9.0 MB Peer-to-peer tool to synchronize files between PCs in home-network, intranet or over the internet

TuxGuitar
SWT+Java2D 9.5 MB Multitrack guitar tablature editor and player. Check it with this evergreen opus. It will rock you!

Click a link in the "Download" column to download the installation package for Windows.

FAQ

What Java SE components can be removed?

Some parts of the Java SE API are sufficiently isolated from the rest and can be removed altogether if the application does not use them.

The following components are supported by Java Runtime Slim-Down: AWT/Java2D, CORBA, JDBC, JNDI, JSound, Management, RMI, Swing, XML, and Scripting (Rhino Javascript engine in Java 6).

Each component may comprise:

  • public API classes
  • implementing classes (one or more packages)
  • native method libraries and associated resource files, such as fonts
Does it help reduce disk footprint of Java applications?

Yes, of course. For instance, look at disk space occupied by the installed sample applications listed above:

Application Disk Footprint Description
JavaCC 13.1 MB Parser generator for use with Java
SWTDemo 14.4 MB Sample with SWT controls
RSSOwl 33.4 MB RSS/RDF/Atom Newsreader
PowerFolder 33.4 MB Tool to synchronize files between PCs
TuxGuitar 31.1 MB Guitar tablature editor and player.
Sun JRE 5.0 Update 13 69.6 MB Included for reference, not required to run the other applications.
Sun JRE 6 Update 15 79.2 MB Included for reference, not required to run the other applications.

As you may see, the disk footprint of the optimized applications is much smaller that the footprint of the JRE alone.

When Java Runtime Slim-Down cannot help?

If your Java application contains tens of thousands of classes or large data files, Java Runtime Slim-Down may have only a minor impact on the size of the resulting installation package.

How does it compare to Sun's Java Kernel?

Initially, Java Kernel was proposed as a deployment technology aimed at reducing the download size. But what appeared in Java 6 Update 10 under the name Java Kernel is still far from the solution.

Java Kernel contains the basics (the JVM and core classes like java.lang.*, java.io.* , etc) and you can bundle it with the application installer. However, unless you deploy a kind of HelloWorld, the application is not usable immediately upon installation.

Upon application launch, the Java Kernel starts downloading the missing bundles from a Sun web site. No means are provided to package the required bundles with the application. In essence, the end users "download a downloader" and all you can do with it is specify which missing bundles must be downloaded first.

This short table highlights the key differences between Java Runtime Slim-Down and Java Kernel:

Question of the Day Java Runtime Slim-Down Java Kernel
Is it possible to create a custom bundle with only the required components for the application installer? YES NO
Can I host the server-side infrastructure on my own web site? YES NO
When running a Java application, the dialog 'Installing additional components' is displayed repeatedly. Is this expected behavior? NO YES

You may find more details in Java Kernel FAQ. In our opinion, the Java Kernel is just a preliminary step towards a solution that may appear in the future.

How does it compare to modularized JDK (Project Jigsaw)?

As modularized JDK is not yet ready (was scheduled for Java 7 but now postponed), it cannot be compared to Java Runtime Slim-Down simply because what is planned and what will be finally implemented may differ.

Nevertheless, we believe that Project Jigsaw is a step in the right direction.

Home | Company | Products | Services | Resources | Contact

Store | Downloads | Support | Forum | Blog | Sitemap

© 1999-2013 Excelsior LLC. All Rights Reserved.