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 components (classes, JAR and WAR files, OSGi bundles) into optimized x86 and x64 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 Oracle 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 platform, Standard Edition (Java SE), version 6.
When you decide to distribute your application, 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 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 features state-of-the-art optimizations such as inlining virtual calls, safe removal of ubiquitous synchronization, allocating objects on the stack and others.
The Optimizer comes with the JET Control Panel, a graphical tool that lets you quickly set up a project file and convert your application into a highly optimized executable (see Chapter JET Control Panel.)
Note: not all optimizations available in x86 version of Excelsior JET are implemented for x64. They will be added in subsequent releases.
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.
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, Italian, Brazilian Portuguese, 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 simply 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.
To learn more about the JetPackII and Excelsior Installer tools, please refer to Chapter Deployment automation.
Memory management subsystem has been substantially re-worked. As compared to Excelsior JET 7.6, it yields:
Java SE 6 Update 43 is supported.
Some of the previously available features are no longer supported and will be removed in the next major release. For more details, see Appendix Deprecated features.