jdk14之jdk工具——jaotc命令

jaotc命令

名称概要描述jaotc选项jaotc示例

名称

jaotc-Java静态编译器,为已编译的Java方法生成本机代码

概要

jaotc[ 选项 ] [ 名称 | 清单 ]

  • 选项

    命令行选项用空格分隔。请参阅jaotc选项。

  • 名称

    从中编译Java方法的Java类或jar文件。

  • 清单

    用冒号(:)分隔的类名称,模块,JAR文件或包含类文件的目录的列表。

描述

jaotc命令是Java提前(AOT)静态编译器,它以共享库的形式为指定Java类文件中的Java方法生成本机代码。当调用相应的Java方法时,Java虚拟机可以加载这些AOT库并使用它们中的本机代码。通过使用jaotc,无需等待JIT编译器生成(通过编译字节码)这些Java方法的快速本机代码。该代码已由生成,jaotc可以立即使用。出于相同的原因,由于可以执行快速编译的本机代码,因此无需在解释器中执行这些方法。

注意:

jaotc命令是实验性的。有关完整的详细信息,请参见JEP 295:提前编译。

jaotc选项

  • --output 文件

    输出文件名。默认名称是“ unnamed.so”。

  • --class-name 类名

    要编译的Java类的列表。

  • --jar jar文件

    要编译的JAR文件列表。

  • --module 模组

    要编译的Java模块列表。

  • --directory rs

    目录列表,以搜索要编译的文件。

  • --search-path rs

    搜索指定文件的目录列表。

  • --compile-commands 文件

    包含编译命令的文件的名称:exclude排除指定方法的编译。compileOnly仅编译指定的方法。正则表达式用于指定类和方法。例如:exclude sun.util.resources..*.TimeZoneNames_.*.getContents\(\)\[\[Ljava/lang/Object; exclude sun.security.ssl.* compileOnly java.lang.String.*

  • --compile-for-tiered

    生成用于分层编译的性能分析代码。默认情况下,不会生成性能分析代码(以后可能会更改)。

  • --compile-with-assertions

    使用Java断言生成代码。默认情况下,不生成断言代码。

  • --compile-threads

    设置使用的编译线程数。默认值为min(16, available_cpus)

  • --ignore-errors

    忽略在类加载期间引发的所有异常。默认情况下,如果类加载引发异常,该工具将退出编译。

  • --exit-on-error

    编译错误退出。默认情况下,将跳过失败的编译,并继续其他方法的编译。

  • --info

    打印有关编译阶段的信息。

  • --verbose

    打印有关编译阶段的更多详细信息。

  • --debug

    打印全面的详细信息。

  • --help-h-?

    打印标准选项的摘要并退出该工具。

  • --version

    打印版本信息。

  • -J

    提供一个标志以传递给运行时系统。要传递多个标志,请为每个需要的标志或标志参数提供此选项的实例。

jaotc示例

使用该jaotc工具执行AOT编译。

jaotc --output libHelloWorld.so HelloWorld.class

在应用程序执行期间指定生成的AOT库:

java -XX:+UnlockExperimentalVMOptions -XX:AOTLibrary=./libHelloWorld.so HelloWorld

你可能感兴趣的:(#,Java研发修养)