欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

GraalVm的反射配置輔助工具agentlib配置及使用

 更新時間:2022年02月23日 08:40:50   作者:kl  
這篇文章主要為大家介紹了GraalVm的反射配置輔助工具agentlib的配置文件及使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

前言

Graalvm通過靜態(tài)分析提前編譯來為Java應(yīng)用程序構(gòu)建高度優(yōu)化的本機(jī)可執(zhí)行文件,這就需要在編譯時就知道所有的程序類型,而java中的反射、動態(tài)代理等功能,在編譯時不確定具體的類型,所以在使用GraalVm構(gòu)建native image前需要通過配置列出反射可見的所有類型。反射的配置是一個json格式的文件。為了簡化這種反射的配置,GraalVm提供agentlib工具,來輔助生成這個配置文件

Reflection配置文檔:https://github.com/oracle/REFLECTION.md

agetnlib文檔:https://www.graalvm.org/docs/Native-Image/user/CONFIGURE

關(guān)于agentlib工具

為了更方便地準(zhǔn)備這些配置文件,GraalVM提供了一個代理,該代理可以跟蹤常規(guī)Java VM上執(zhí)行動態(tài)功能的所有使用情況??梢栽贕raalVM的 java命令的命令行上啟用它,如:

./java -agentlib:native-image-agent=config-output-dir=/home/kl/graal/data/ -jar /home/kl/graal/app/kk-risk-model-0.0.1-runner.jar

config-output-dir配置好配置的輸出目錄,默認(rèn)情況下,配置文件生成將在jvm停止后輸出,也可以通過添加配置,定期輸出,如

  • config-write-period-secs:按照此配置中的指定,每隔幾秒鐘執(zhí)行一次定期寫入。僅支持大于零的整數(shù)值。
  • config-write-initial-delay-secs:第一次寫入的秒數(shù)。僅支持大于或等于零的整數(shù)值。僅當(dāng)config-write-period-secs大于零時啟用。

每個配置間使用逗號分隔,如:

./java -agentlib:native-image-agent=config-output-dir=/home/kl/graal/data/,config-write-period-secs=60,config-write-initial-delay-secs=5 -jar /home/kl/graal/app/kk-risk-model-0.0.1-runner.jar

在執(zhí)行期間,代理與Java VM交互以攔截所有查找類,方法,字段,資源或請求代理訪問的調(diào)用。然后,代理生成的文件jni-config.json,reflect-config.json,proxy-config.json、resource-config.json在指定的目錄輸出。生成的文件是JSON格式的獨(dú)立配置文件,其中包含所有攔截的動態(tài)訪問。

在使用agentlib生成配置時,建議將應(yīng)用的測試用例全部跑一邊,讓應(yīng)用覆蓋到所有的業(yè)務(wù)接口,不然,生成的配置可能覆蓋不到所有的反射類

配置文件使用

通過將生成的配置文件放置在項目的resources/META-INF/native-image/類路徑上的目錄中使其生效,如果在quarkus中使用,還可以通過添加如下的配置參數(shù)使配置生效:

quarkus.native.additional-build-args =-H:ResourceConfigurationFiles=resources-config.json

第一種方案是GraalVm提供的默認(rèn)的配置加載路徑,第二種方式是Quarkus提供的配置加載方式,所有在quarkus中使用maven構(gòu)建的話,可以在構(gòu)建命令中看到你配置的指令,而第一種方案是看不到的,但是也是生效的。

ps:直接下載下來的graalvm sdk不包含如上功能,需要在graalvm的bin目錄下執(zhí)行g(shù)u install native-image安裝好native-image環(huán)境后才行

以上就是GraalVm的反射配置輔助工具agentlib的詳細(xì)內(nèi)容,更多關(guān)于GraalVm的反射配置輔助工具agentlib的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • spring級聯(lián)屬性賦值的兩種方式解析

    spring級聯(lián)屬性賦值的兩種方式解析

    這篇文章主要介紹了spring級聯(lián)屬性賦值的兩種方式解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Java調(diào)用第三方接口示范的實現(xiàn)

    Java調(diào)用第三方接口示范的實現(xiàn)

    這篇文章主要介紹了Java調(diào)用第三方接口示范的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java swing實現(xiàn)支持錄音等功能的鋼琴程序

    Java swing實現(xiàn)支持錄音等功能的鋼琴程序

    這篇文章主要為大家詳細(xì)介紹了Java swing實現(xiàn)鋼琴程序,支持錄音等功能的Java鋼琴源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringCloud Netfilx Ribbon負(fù)載均衡工具使用方法介紹

    SpringCloud Netfilx Ribbon負(fù)載均衡工具使用方法介紹

    Ribbon是Netflix的組件之一,負(fù)責(zé)注冊中心的負(fù)載均衡,有助于控制HTTP和TCP客戶端行為。Spring Cloud Netflix Ribbon一般配合Ribbon進(jìn)行使用,利用在Eureka中讀取的服務(wù)信息,在調(diào)用服務(wù)節(jié)點(diǎn)時合理進(jìn)行負(fù)載
    2022-12-12
  • Java執(zhí)行可執(zhí)行文件的三種方法詳解

    Java執(zhí)行可執(zhí)行文件的三種方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java中執(zhí)行可執(zhí)行文件的三種方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的小伙伴可以參考一下
    2024-02-02
  • binarySearch在java的查找實例用法

    binarySearch在java的查找實例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于binarySearch在java的查找實例用法,對此有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-02-02
  • Java之操作Redis案例講解

    Java之操作Redis案例講解

    這篇文章主要介紹了Java之操作Redis案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 教你在Spring Boot微服務(wù)中集成gRPC通訊的方法

    教你在Spring Boot微服務(wù)中集成gRPC通訊的方法

    這篇文章主要介紹了教你在Spring Boot微服務(wù)中集成gRPC通訊的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • IDEA中l(wèi)og4j 無法輸出到本地 properties配置無效問題

    IDEA中l(wèi)og4j 無法輸出到本地 properties配置無效問題

    這篇文章主要介紹了IDEA中l(wèi)og4j 無法輸出到本地 properties配置無效問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 一文詳解Java Netty中的Constant類

    一文詳解Java Netty中的Constant類

    這篇文章主要介紹了Constants類即常量類是將一些常用的變量集合到一個地方的類,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考一下
    2023-05-05

最新評論