How to run a class compiled using jaotc?

I compiled a simple class using the Java 9 Ahead-Of-Time Compiler jaotcusing the following command:

javac Test.java
jaotc Test.class

Creates a file with the name unnammed.so. How to run a compiled program? Do I need to write a boot program to link to a .so file?

+6
source share
2 answers

After compiling AOT, you need to specify the generated AOT library at runtime:

java -XX:AOTLibrary=./Test.so Test

You must also compile java.baseto get a real improvement in performance:

jaotc --output libjava.base.so --module java.base

, AOT java.

:

jaotc -J-XX:+UseParallelGC -J-XX:-UseCompressedOops --output libTest.so Test.class 
java -XX:+UseParallelGC -XX:-UseCompressedOops -XX:AOTLibrary=./libTest.so Test

, .

+9

JEP 295, AOT JDK 9, http://openjdk.java.net/jeps/295. -XX:: AOTLibrary.

:

java -XX::AOTLibrary=./unnamed.so,./libjava.base.so Test

, , libjava.base.so JDK 9 , .

--output jaotc, 'unnamed.so'.

+4

Source: https://habr.com/ru/post/1682193/


All Articles