The Fastest JVM on Greenland

Lagoni Engineering uses Excelsior JET Embedded to optimize its smart energy solution, deployed to a test site in Greenland.

Read The Case Study »

What Is It?

Java Compatible Logo

Excelsior JET Embedded is a properly licensed, compliant Java SE for Embedded technology implementation enhanced with an Ahead-Of-Time compiler.

More on compatibility »

How It Works?

The AOT compiler takes your jar and class files as input and produces a conventional binary executable. The runtime also includes a JIT compiler to handle any classes that were not precompiled.

Look under the hood »

See It In Action

Video Demo
Java Compatible Logo

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:

Shapes and holes


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.


The use of Excelsior JET is safer from a legal standpoint compared to non-compliant commercial embedded Java offerings.

Vendors of unlicensed commercial solutions effectively abuse the Java trademark and risk being pushed out of business or forced to bring their offering in compliance with the commercial Java technology license.

Notice The JCK is not a stress test. It does not benchmark the implementation's performance or throughput.

Faster Startup, Better Performance

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.

All charts on this page are taken from an actual customer case study. The results for your application will vary.

Performance Gain Response Time Startup Time

Smaller Footprint

Footprint Chart

Excelsior JET keeps the size of the Java SE runtime as small as possible. This reduces the ROM (flash memory) and RAM footprint of embedded Java applications, which is important for space-constrained environments.

The run time memory footprint is smaller because the Excelsior JET JVM is leaner compared to traditional implementations.

As for disk space usage, the unique Java Runtime Slim-Down feature enables you to selectively omit parts of the Java SE standard library that are not used by your application.

Robustness and Predictability Code tested === Code deployed

The Excelsior JET compilers, both AOT and JIT, make no optimistic assumptions. The code they yield may be less optimal in particular scenarios, but never needs to be changed at application run time. You can be sure that the code executing on the device is the code that has passed the test load in your lab.

A typical JVM loads classes one-by-one, initially interpreting and profiling all methods. As the JVM detects frequently called methods and loops with a large number of iterations, it begins dynamically compiling such methods and fragments into native code.

An advanced JIT compiler also makes certain assumptions based on the set of classes loaded so far. If such an assumption is later broken, the respective methods have to be deoptimized and possibly recompiled.

All this machinery can become very sophisticated. As a result, it becomes very difficult to test all possible variants and combinations of the dynamically generated pieces of code.

Egyptian Hieroglyphs Inscription

Protection Against Java Decompilers Peace of mind

Window Window

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, which 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 Embedded gives you the best of both worlds. With it, you flash solid binary executables into your devices, while avoiding the obfuscation trade-offs — reduced performance and an increased risk of run-time errors. And you may still pass classes not accessed via JNI or reflection through a name obfuscator if you know what you are doing.

Target System

CPU:Intel Pentium II or compatible at 200 MHz or higher
RAM:5MB minimum, 16+MB recommended
ROM/Flash:15MB minimum



  • kernel 2.6.16 or above
  • glibc 2.4 or above
  • NPTL 2.4 or above
  • 32‑bit executables require installation of 32‑bit libraries on 64‑bit systems

Developer System

CPU:Intel Pentium III or compatible at 800 MHz or higher
RAM:1.5 GB minimum, 2 GB or more recommended
Disk Space:650 MB minimum, up to 750MB extra for temporary use

Microsoft Windows 8, 7, Server 2008, Vista, Server 2003, XP


  • kernel 2.6.16 or above
  • glibc 2.4 or above
  • NPTL 2.4 or above
  • 32‑bit libraries must be present on 64‑bit systems
  • Graphical tools require X11 and xterm
  • xterm must be reachable via the command search path

The Java SE technology is free for use on general purpose desktop and server computers, but not in embedded systems. Therefore the licensing scheme and cost structure for Excelsior JET Embedded are different from its desktop/server sibling.

In short, you have to pay royalties to Oracle for the embedded use of Java SE, and pay support fees to Excelsior. The fees depend on the field of use, the market value (e.g. retail price) of your devices, and the number of units you ship each quarter.

Legal terms tag cloud

No Cellphones Sign

Notice The Java SE Embedded technology license currently prohibits the use of Java SE in cell phones.

Request Evaluation Now



According to our Java SE for Embedded license agreement, we must collect and communicate to Oracle the following information about your evaluation request: company name, address, contact person, and intended use.

If you have any concerns in connection with the above, you may first evaluate the desktop/server version of Excelsior JET, which is very similar in functionality and is free from the above requirement.

Note: Fields marked with "*" are required.

Contact Information

(Mr./Ms./Dr./Prof., etc)
* Notice We will send the download instructions to this address!

About your company

* (USA only)

About your project

* (e.g. "Digital TV appliances")
Notice Only x86-compatible CPUs are currently supported.
Please enter the specific model used in your devices.
What problems do you hope to solve using Excelsior JET Embedded?

Comments or Questions?

Please enter below any comments or questions you have in connection with your evaluation:
Are you human? (Sorry, we have to ask)

By Email
Any technical questions or issues
Pricing, licensing, support renewals, etc.
All other issues.

By Phone

+7 (383) 330 55 08
We are in GMT+6 - mind the time difference

By Fax

+1 (509) 271 52 05 (intl e-fax)

By Mail

P.O.Box 100
Novosibirsk 630090 Russia

Or Come Over For a Visit

6 Lavrenteva Ave.
Novosibirsk 630090 Russia


Dmitry Leskov
Director of Marketing
+1 (408) 786 5641 skypein
(4am-4pm GMT)