Documentation

Documentation/Protection

Native compilation

Move eligible method bodies across the Java-to-native boundary.

A different representation of your logic#

The optional native backend compiles selected Java method bodies into native code. A Java decompiler therefore does not recover those bodies as ordinary Java implementations. Native code remains analysable with other tools; the purpose is to change the representation and increase the work required to reconstruct it.

A defined deployment target#

The current implementation uses MSVC for Windows x64. Native interface carriers require Java 21. This mode introduces native loading and platform requirements, so its deployment target must be agreed before it is selected.

Native compilation and method virtualization are alternative execution strategies for a selected method. Neither is described as a universal default for every application.

Explicit handling of unsupported methods#

Unsupported native bodies are rejected by default. A hybrid policy can deliberately retain selected Java implementations. The choice should be understood before release: a completed build is not evidence that every method was compiled to native code.

Exercise class loading, exception behaviour and deployment on a clean target machine, not just the build machine.

Contact the team