What is Excelsior JET
Excelsior JET is a toolkit and complete runtime environment for acceleration, protection, and deployment of Java SE applications.
What Excelsior JET is not?
Excelsior JET is not a yet another Java-to-executable wrapper or packager. It really compiles your Java class files into native Intel x86 instructions. The resulting executables need the Excelsior JET Runtime to run, but not the Sun JRE.
Who should use Excelsior JET?
Excelsior JET is intended to be used by developers and development teams creating client- and server-side software in the Java programming language, targeting (primarily) Microsoft Windows and/or Linux on the Intel x86 (IA-32) platform, and interested in one or more of the following:
- Improvement of application performance
- Application startup time reduction
- Improvement of application scalability (e.g. handling more simultaneous connections on the same hardware)
- Application memory footprint reduction
- Protection of application code against reverse engineering
- Application disk footprint/download size reduction
- Easy native-style application deployment
- Distribution of Java applications in the form of Windows EXE and DLL files (typical requirement in Microsoft-only shops)
How does it work from the technical point of view?
Excelsior JET consists principally of the following components:
Excelsior JET Optimizer is an ahead-of-time (AOT) compiler that translates your application's classes and jars into optimized x86 (IA-32) code, producing a conventional native executable for Windows or Linux. The resulting executable starts and works faster and is as hard to decompile as if your application was written in C++.
Excelsior JET Runtime is a complete Java Virtual Machine that implements versions 5 and 6 of the Java SE platform. In particular, the Runtime includes the Java SE API licensed from Sun Microsystems and contains a dynamic (just-in-time) compiler that processes Java classes loaded at runtime that were not precompiled. The key difference from other JVMs is that the Excelsior JET Runtime can work with both Java classes and native executables produced by Excelsior JET Optimizer. So, for example, your optimized program will be able to load third-party plug-ins supplied in the form of jar files.
Excelsior JET Installation Toolkit enables you to prepare an installation package that includes your optimized Java application and the Excelsior JET Runtime engine. You can use the bundled Excelsior Installer or another installation tool of your choice. No extra software, such as the JRE, is required on end-user machines.