Behavioural parity

Aspect Standard OpenJDK behaviour Eliya behaviour
Java APIs OpenJDK 25 semantics Identical (built from same source)
Default GC G1GC, 200 ms pause target Identical — unless -XX:+UseEliyaDefaults is set
TLS defaults Upstream java.security Hardened — SSLv3, TLS 1.0, TLS 1.1 disabled; weak ciphers blocked
Custom flags -XX:+UseEliyaDefaults (off by default)

The one place you may need to act is TLS: if your application relies on legacy protocols (TLS 1.0/1.1) or weak ciphers, it will fail to negotiate. This is intentional — those protocols are broken. If legacy interoperability is truly required, use -Djava.security.properties==<path-to-vanilla-java.security> (double equals overrides rather than appends).

Side-by-side with SDKman

SDKman lets you install Eliya alongside your current JDK and switch per shell. Safest path — your existing runtime stays default until you explicitly change it.

sdk install java 25.0.2-eliya Copy
sdk use java 25.0.2-eliya Copy
sdk default java 25.0.2-eliya Copy

sdk use is per-shell. sdk default is permanent.

System-wide on Linux (update-alternatives)

For machine-wide default replacement after installing the tar.gz archive to /opt/eliya:

sudo update-alternatives --install /usr/bin/java java /opt/eliya/bin/java 2500 Copy
sudo update-alternatives --config java Copy

When .deb and .rpm packages ship in 2026, they register these alternatives automatically.

Enable Eliya telecom defaults (optional)

After switching runtimes your application will run unchanged. To opt into Eliya's telecom-optimised GC and compilation profile, add the single flag:

-XX:+UseEliyaDefaults Copy

Details on what this flag activates: flags reference.

Vendor-specific notes

From Corretto

Behavioural parity is high — Corretto is also built from upstream OpenJDK. Corretto ships the Corretto Crypto Provider; if your application explicitly requires it, continue using Corretto. Eliya does not bundle a custom crypto provider.

From Temurin / Adoptium

Direct swap. Both are vanilla OpenJDK builds. Eliya adds telecom-tuned defaults that Temurin intentionally does not.

From Azul Zulu

Direct swap for Zulu Community. Azul Platform Prime uses a different JVM (Falcon JIT, C4 GC) — swapping to Eliya reverts to standard HotSpot behaviour. Benchmark before committing.

From Oracle JDK

The primary motivation is usually licensing. Oracle JDK under the "No-Fee Terms and Conditions" licence has restrictions Eliya does not. Oracle's Flight Recorder is the same code as the OpenJDK version shipped in Eliya.

From Liberica / BellSoft

Direct swap for Liberica Standard JDK. Liberica Full JDK bundles JavaFX — Eliya does not. If your application uses JavaFX, either stay on Liberica Full or add OpenJFX as an explicit dependency.

← back to Eliya
[ } Eliya Eliya Dial Dial
Research Eliya JDK Registry About Contact © 2026 Asymm
[ }
[ }
// PRODUCTS Eliya Eliya Dial Dial