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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章