Deploy Your Java™ Applications as Optimized Native Executables:
to PCs and Macs
to Windows/Linux Servers
to Embedded/IoT Devices
Excelsior JET
Excelsior JET Embedded
All Excelsior JET products have passed the official compliance tests (JCK) and are certified Java Compatible. Learn More »
What Is It?
Excelsior JET is a complete implementation of the Java SE technology for Microsoft Windows, Apple macOS, and Linux. It includes:
- Java SE 8 compatible JVM
- Ahead‑Of‑Time (AOT)
Java to native code compiler - Complete Java SE 8 and JavaFX 8 API implementations, licensed from Oracle
- Deployment toolkit
Excelsior JET has passed the official compliance tests (JCK) and is certified Java Compatible.
How It Works
First, the AOT compiler turns your jar and class files into a conventional binary executable. That executable is fully interoperable with our JVM, which includes a JIT compiler to handle any classes that were not precompiled.
Second, the deployment toolkit helps you create an installer containing the application executable, necessary runtime files, and the auxiliary files of your choice — data files, documentation, license, etc.
Data Sheet
|
Frequently Asked Questions |
Changelog |
Roadmap
Never miss a new release or a maintenance update. Subscribe to Excelsior JET email alerts:
What Does “Java Compatible” Mean, Exactly?
You may be wondering what it takes to get this little Java Compatible logo and, more importantly, what benefits it delivers to you as a user of our product. These are the key points:
Excelsior JET has passed the Java SE 8 Technology Compatibility Kit (JCK) test suite.
The JCK comprises over 200,000 individual test cases verifying compliance with all aspects of the Java specification. Technically, this means that any program coded in accordance with the Java specification must produce the same result on the reference implementation and when natively compiled with Excelsior JET.
The standard Java SE class library included in Excelsior JET is built from the same source code as the one included in the Oracle JRE.
The reuse of the reference implementation source code not only has helped our product pass the JCK tests. It also makes Excelsior JET replicate any loosely specified or implementation-defined behavior of the standard Java library classes as implemented in the Oracle JRE automatically.
Notice The JCK is not a stress test. It does not benchmark the implementation's performance or throughput.
Benefits Why Use It?
Protection Against Java Decompilers Peace of mind
Java class files are easy to reverse-engineer. The very properties that enable Java applications to run anywhere make reverse translation straightforward. There are a number of Java decompilers on the market that produce amazingly readable source code.
In contrast, reverse translation of optimized native code is a hard engineering task that cannot be automated like Java bytecode decompilation.
An
obfuscator
can make the decompiled code less comprehensible.
However, name obfuscation may cause reflection and JNI failures,
whereas extensive control flow obfuscation negatively impacts performance
and may provoke a VerifyError. To make things worse,
these problems only manifest themselves when the respective
class is actually loaded at application run time, and thus may slip through
the QA process.
And reverse engineering of an equivalent C++ program passed through an
optimizing compiler would still be more difficult.
Excelsior JET gives you the best of both worlds. With it, you reduce the set of class and jar files comprising your Java application to a solid binary executable before shipping it to customers or delpoying it to production servers. You avoid the obfuscation trade-offs: reduced performance and increased risk of run-time errors. You may continue using tools that encrypt strings and resources, and you may pass classes not accessed via JNI or reflection through a name obfuscator if you know what you are doing.
Improved User Experience Faster startup, smaller footprint, no dependencies
Notice All charts represent data gathered by running particular applications in specific environments. Your mileage will vary.
Natively precompiled Java code runs directly on hardware right from the start. The absence of the warm-up cycle and JIT compilation overhead results in faster application startup and optimal code performance.
The run time memory footprint is also somewhat smaller because the Excelsior JET JVM is leaner compared to traditional implementations.
Finally, the applications precompiled with Excelsior JET do not require the JRE, and the included deployment tools help you package your optimized application together with the necessary runtime files into a native installer.
Who is Already Using It?
Featured Success Story
You can read more case studies or go see for yourself. Download Your 90-days Evaluation Copy Now
Pricing and Licensing
Excelsior JET is available in three editions. Licenses for each platform are sold separately; discounts apply to multiplatform bundles. The licenses are perpetual and come with one year of support and upgrades.
* Notice The Excelsior JET Runtime License prohibits deployment to and bundling with embedded systems. If you are targeting devices with dedicated functionality, check out Excelsior JET Embedded.
You can test Excelsior JET thoroughly prior to purchase. Download Your 90-days Evaluation Copy Now
Microbusiness Licensing Program
MicroISVs, early stage startups, and other very small businesses employing just a few software engineers may purchase Excelsior JET at reduced prices.
Non-Commercial Use
We gladly provide Excelsior JET licenses at no cost to authors of free, non-commercial Java applications that meet a few simple qualification criteria.
Personal Licenses
You can opt-in to receive a free Excelsior JET, Standard Edition license for your personal use when downloading Excelsior JET Evaluation Packages.
Notice Only 64‑bit Professional and Enterprise Editions are available for macOS.
|
Capability ↓
Editions →
|
Ent | Pro | Std |
|---|---|---|---|
| ✔ | ✔ | ||
| ✔ | ✔ | ✔ | |
| ✔ | ✔ | ✔ | |
Generates 64-bit (x64) native executables | ✔ | ✔ | |
| ✔ | ✔ | ||
| ✔ | |||
| ✔ | |||
| ✔ | |||
| ✔ | ✔ | ||
Protects plain Java SE and JavaFX applications from decompilers | ✔ | ✔ | ✔ |
| ✔ | |||
| ✔ | |||
| ✔ | ✔ | ✔ | |
| ✔ | ✔ |
These are just the major differences. Refer to the Feature Matrix for an exhaustive list.
Support
You can test drive our support for up to 90 days. Just Download Your Evaluation Copy and fill in a short questionnaire.
News
08-Aug-2018
HOWTO: Create a Debian Package for a Natively Compiled Java Application (New KB Article)
08-May-2018
Excelsior JET 15 Introduces Incremental Compilation
05-Oct-2017
Video: The Duke Yet Lives That OSGi Shall Depose (Nikita Lipsky's Talk @ JavaZone 2017)
29-Sep-2017
Excelsior JET 11 Has Reached End of Life
27-Sep-2017
Excelsior JET Team Blog Launched, Content to Range from Hardcore JVM Internals to Support Stories
Contact Us
Technical Support
Experiencing a technical issue, or have a question to our engineers? Email them at the above address, or select Open Support Ticket from the Help menu.
Customer Service
Inquiries about pricing, licensing, payment methods, order status, product delivery, support renewals, etc.
Media/Analysts
Dmitry LeskovDirector of Marketing
+1 (408) 786 5641 skypein
(4am-4pm GMT)
dleskov@excelsior-usa.com