XLsoft Corporation
Japanese English Chinese Korean

Excelsior JET 2.0 is a solution for compilation of self-contained Java applications to optimized conventional Windows EXE and DLL files.
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler

Excelsior JET

Technology overview

Excelsior JET enables you to accelerate your Java applications, to secure them against reverse engineering, to create a complete application setup, and to distribute your Java software products without deployment dependencies such as the Java Runtime Environment (JRE). Yet, you can substantially reduce download size of your Java applications.

How does Excelsior JET do all these things for you?

What you use now

Your Java application is delivered in a portable bytecode form and runs on top of the Java Virtual Machine (JVM). The JVM is a part of the JRE that should be installed on every system on which your application runs.

The JVM executes the application and gradually improves its performance by optimizing the Java code at run time.


Fig 1. JVM warm-up cycle vs. steady performance of a native app

Put simply, when a user launches your application or a consumer turns on your Java-powered device, Java code performance is relatively low. The performance is improved to some extent only after the application has run for a while. Unfortunately, when it is re-started, the entire warm-up cycle gets repeated.

- Is there a direct route to Java performance?
Yes.

Suppose you had an automatic tool that optimizes Java code for your target platform before execution. Free of resource constraints inherent to run time optimizers, it processes all the code and optimizes it well.

You feed the application's classes to the tool, which optimizes them for performance and saves the results to disk. Now, you can deploy your Java application in optimized form so that it runs fast from the start on target systems.

What is that automatic tool we are talking about? Read on.


Excelsior JET Optimizer

A Java application typically consists of class files and resource files, like images, which are packed into one or more jar files.

Using the Excelsior JET Optimizer, you convert the classes into highly optimized x86 code and create a native executable for Windows or Linux. This technique is called Ahead-Of-Time (AOT) compilation.


Fig 2. AOT compilation

Now, the original Java classes are no longer required for the application to run.

The best way to secure your Java classes against reverse engineering is to not distribute them at all. Ahead-Of-Time compilation makes it possible.

And you can launch the executable as you would a native application.


Excelsior JET Runtime

Upon startup, the application executable links to the Excelsior JET Runtime, which provides the Java platform API classes (also native compiled) and low-level runtime support routines necessary for Java applications, such as garbage collection.


Fig 3. The Runtime serves the compiled executable

Now, your Java application runs directly on the underlying hardware.

When the Java code is agressively optimized for the target hardware before execution, applications run at full speed right from the start.

Finally, you can leverage Excelsior JET to create a professional installation for the optimized application.


Excelsior JET Installation Toolkit

With the help of the Excelsior JET Installation Toolkit, you can create a complete installation package that includes your optimized Java application, the Excelsior JET Runtime, and any additional files, like user's documentation, extra utilities, and so on.


Fig 4. Packaging the optimized application


Deployment

The basic deployment procedure is very simple. The created installation package is a self-contained directory that can be installed on target systems by a simple copy operation. Another option is store it on removable media, such as a flash memory card or USB drive, enabling your end users to run the application without installation.

If necessary, you can wrap the package into Excelsior Installer bundled with Excelsior JET or use another setup generator of your choice.

The JRE need not be installed on target systems for your application to run.

Do not forget to remove the JRE from
your application's system requirements

Now you can ship your server-side and desktop Java applications or Java-powered devices to end users.


Fig 5. Java deployment simplified


Wait, but what about dynamic class loading?

Your Java application may need to load classes that are available only on a target system, downloaded from a remote host, or generated at run time. Examples are dynamic proxies, third-party plug-ins for your application, and JDBC drivers.

How does Excelsior JET cope with that? Easily.

The Excelsior JET Runtime includes a JIT compiler that transparently loads Java classes to the running application.


Fig 6. Dynamic class loading


Optimizer gets smarter, download size gets smaller

One might ask: why do I need this big iron (JET Runtime) including all standard Java classes pre-compiled while my app uses only a few of them?

Very good question.

The JET Optimizer can compile your application's classes and required classes of the Java SE API together into a single executable. Then, you may leverage the Java Runtime Slim-Down deployment model to leave the unused parts of Java SE out of the application installer.

As a result, a complete application setup powered by Excelsior Installer can be substantially smaller than the Sun JRE alone.

This technique also helps you significantly reduce the disk footprint of your application compared to the Sun JRE footprint. It can save a fair bit of valuable space if your Java applications come pre-installed on removable media such as flash memory cards or USB drives.


What's next?

We invite you to download a fully functional evaluation copy of Excelsior JET. While it is downloading, take a look at the Product Data Sheet that contains the full list of features and benefits offered by our product.


Learn more

Find more information about how Excelsior JET can help you:

JET - Java to EXE Compiler Evaluation Download
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler
JET Prices
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler
JET FAQs
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler
JET - Java to EXE Compiler Evaluation Download
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler
Feature Matrix
What's New
Myths and Facts
System Requirements
Knowledge Base
Tutorial
Message Board
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler
JET, Java, native executable, exe, compiler, java, bytecode, byte code, development, windows executable, java application, jar, program, object oriented, optimizing compiler

 JET Japanese Version


Home | Features | System | Download | Prices | Shop