Excelsior JET is a toolkit and complete runtime environment for optimizing, deploying and running applications written in the Java(tm)programming language. The product package includes Excelsior JET Optimizer, Excelsior JET Runtime and Excelsior JET Installation Toolkit.
The JET Optimizer enables you to convert your application’s classes and jars into optimized x86 (IA-32) code on the developer’s system. As a result, you get high performance native executables for Microsoft Windows or Linux. The produced native code is highly resistant to reverse engineering and tampering.
The JET Runtime includes the Java SE API licensed from Sun Microsystems and provides all low-level Java routines which the optimized executables need to run such as garbage collection.
Excelsior JET Optimizer and Runtime are certified for compliance with the specification of the Java 2 platform, Standard Edition (J2SE), versions 5.0 and 1.4.2.
If you want to distribute your application to a number of clients, you use the Installation Toolkit to prepare an installation package including your optimized Java application and the JET Runtime engine. Your clients simply install the package and start using your application. Additional software installation, such as the Java Runtime Environment (JRE), is not required on target systems.
The JET Optimizer transforms Java bytecode (.class/.jar files) into high performance native code on the developer’s system before program execution. The resulting optimized executables run directly on the hardware.
The Optimizer employs various optimization techniques commonly used in traditional C/C++ or FORTRAN compilers. To resolve Java performance challenges, the JET Optimizer is powered by state-of-the-art optimizations such as inlining virtual calls, safe removal of ubiquitous synchronization and allocating objects on the stack.
The Optimizer comes with the JET Control Panel, a graphical wizard that lets you quickly set up a project file and convert your application’s classes into the highly optimized executable (see Chapter JET Control Panel.)
The JET Runtime is a complete Java Virtual Machine (JVM). In particular, it includes a just-in-time (JIT) compiler to load and run Java class files. The key difference from other JVMs is that the JET Runtime can work with both Java classes and native executables produced by the JET Optimizer. For example, a JET-compiled application will be able to load Java plug-ins supplied in the form of jar files.
If your program uses plug-ins, loading them with the JIT compiler may take some time. To reduce the overhead, you may enable JIT caching in the JET Runtime. As a result, the native code produced by the JIT compiler will be retained in the JIT cache and reused on subsequent launches of the application. See Chapter Mixed Compilation Model for details.
To facilitate rapid creation of installation packages, Excelsior JET includes JetPackII, yet another graphical wizard. Using it, you prepare an installation package including your optimized Java application and the JET Runtime.
The deployment procedure is as simple as possible. You specify the JET-compiled application(s) and other files to be deployed, edit few settings, and the JetPackII generates a self-extracting installation executable, automatically including the JET runtime.
The installation executable is powered by the bundled Excelsior Installer that features both unattended and interactive installations.
In the interactive mode, the installer guides the users through the installation process allowing them to specify installation settings as usual. You can customize the installer to show end-user license agreement and to display installation interface in the English, German, French, Spanish, Polish, Russian or Japanese languages, depending on your choice or the system locale settings.
JetPackII can also prepare the resulting package in the form of self-contained directory that can be just copied to target systems. It contains the clickable application’s executable that requires neither extra environment settings, such as PATH, nor additional software installation, such as JRE. You can easily integrate such package into any setup generator or run the application off a USB flash drive without installation.
Please refer to Chapter Deployment automation for more details on the JetPackII and Excelsior Installer tools.
This release enables you to reduce disk footprint of Java applications installed on target systems.
Other improvements are further decrease of the download size of installation bundles created with JetPackII and higher application performance on the hardware that supports parallel execution.
Finally, this release adds Spanish and Polish localization to Excelsior Installer and returns support for J2SE 1.4.2 requested by many customers.
Now the size of the client installation can be substantially reduced: a medium-size GUI application using SWT over Java SE 5.0 now takes only 20MB of disk space and can be run off a USB flash drive without installation.
Note that the required disk space may vary depending on the size of application’s resources such as images and media files.
The disk footprint reduction has been achieved by combining:
For more details, refer to section Disk footprint.
Note: disk footprint reduction is not available in the Standard Edition of Excelsior JET.
To ease migration of customer’s applications to newer versions of the Java platform, this release of Excelsior JET includes support for J2SE 1.4.2, in addition to Java SE 5.0.
The size of a complete installation bundle for a medium-size Swing application using Java SE 5.0 can be less than 10 MB. That is, this version saves extra 2 MB on average as compared with Excelsior JET 4.5.
This has been achieved through implementing a more effective compression technique in Excelsior Installer.
Moreover, using the JetPackII tool, you can now exclude all optional components of the JET Runtime from redistributions (see Selecting optional components.)
The Desktop Runtime flavor delivers higher performance on HyperThread-enabled processors, dual-CPU systems and multi-core chips. The Server Runtime features higher throughput on multi-CPU systems.
Spanish and Polish localization added to Excelsior Installer
Java SE 5.0 Update 9 (default) and J2SE 1.4.2_12 are included
Thanks to all Excelsior JET community members who gave us feedback on the previous versions of our product.