最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動和運行效率(推薦)

 更新時間:2023年02月02日 10:08:06   作者:Antake  
這篇文章主要介紹了Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動和運行效率,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

GraalVM安裝

GraalVM安裝

安裝

請前往GraalVM官網(wǎng) 下載 GraalVM Community 22.3,注意當(dāng)前支持的Springboot的GraalVM版本必須是22.3
筆者這里下載的Java版本為17,如下圖

安裝GraalVM的方法與安裝JAVA方法大致相同,GraalVM中包括了JDK(無需再次安裝JDK),同時還需要安裝native-image工具(后續(xù)下載)

配置環(huán)境變量

使用命令查看是否安裝graal vm成功

java -version

native-image工具安裝

這里下載的文件(同GraalVM下載位置下方的release文件)為native-image-installable-svm-java17-windows-amd64-22.3.0.jar如下圖所示

下載完成之后在文件目錄運行以下命令進行安裝

- gu install xxxx.jar(同下載的工具鏡像,網(wǎng)絡(luò)下載)
- gu install -L xxxx.jar(同下載的工具鏡像,本地文件)

使用以下命令查看是否安裝成功

gu list

native-image

Visual Studio安裝

編譯native image必須依賴VC++的編譯環(huán)境,這里必須使用微軟官方的vc++編譯工具Visual Studio,筆者這里使用的最新版本2022Visual Studi官網(wǎng)

To use Native Image on Windows, install Visual Studio and Microsoft Visual C++ (MSVC). There are two installation options: * Install the Visual Studio Build Tools with the Windows 10 SDK * Install Visual Studio with the Windows 10 SDK You can use Visual Studio 2017 version 15.9 or later. The `native-image` builder will only work when it is run from the **x64 Native Tools Command Prompt**. The command for initiating an x64 Native Tools command prompt varies according to whether you only have the Visual Studio Build Tools installed or if you have the full Visual Studio 2019 installed.

從上可知,Visual Studio 2017 version 15.9 or later均可
打開Visual Studio Installer,勾選如下圖中三個組件

安裝完成后,需要配置VC++的編譯環(huán)境變量PATH,INCLUDE,LIB

LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\ucrt\x64;D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\lib\x64

INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\shared;D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\include

PATH=D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64

Springboot應(yīng)用初體驗

創(chuàng)建項目

運行項目

調(diào)試運行,正常啟動

編譯運行

編譯

如果出錯選擇下面的,或者在編譯插件中重新配置

如果編譯都不行,用插件編譯之前現(xiàn)在console執(zhí)行以下命令

./mvnw -DskipTests=true -Pnative clean package

編譯完成之后在target里面查看文件

運行

運行對比

jar(JVM)本地exe(native image)文件大小18M69M啟動耗時1.183s0.098s內(nèi)存占用106M46m
根據(jù)上述對比結(jié)果,盡管是一個最簡單的springboot程序,但在啟動耗時上native具有明顯的優(yōu)勢,達到毫秒級,占用內(nèi)存少了一半多。
由于是一項新技術(shù),其推廣和普及肯定必定需要一段時間(畢竟我們還在JDK1.8,哈哈),但在一些新的小型應(yīng)用中,完全可以試試手,畢竟盡量native用不了,還有jvm可以兜底,我們并需要為此做額外的工作。
最近,希望java web能通過native的特性,真正的適配云原生環(huán)境。

到此這篇關(guān)于Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動和運行效率(推薦)的文章就介紹到這了,更多相關(guān)Windows使用Graalvm將Springboot編譯成exe內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 隨機取字符串的工具類

    Java 隨機取字符串的工具類

    隨機數(shù)在實際中使用很廣泛,比如要隨即生成一個固定長度的字符串、數(shù)字?;蛘唠S即生成一個不定長度的數(shù)字、或者進行一個模擬的隨機選擇等等。Java提供了最基本的工具,可以幫助開發(fā)者來實現(xiàn)這一切
    2014-01-01
  • MyBatisPlus使用@TableField注解處理默認填充時間的問題

    MyBatisPlus使用@TableField注解處理默認填充時間的問題

    這篇文章主要介紹了MyBatisPlus使用@TableField注解處理默認填充時間的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring Boot REST國際化的實現(xiàn)代碼

    Spring Boot REST國際化的實現(xiàn)代碼

    本文我們將討論如何在現(xiàn)有的Spring Boot項目中添加國際化。只需幾個簡單的步驟即可實現(xiàn)Spring Boot應(yīng)用的國際化,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • MybatisPlus處理四種表與實體的映射及id自增策略分析

    MybatisPlus處理四種表與實體的映射及id自增策略分析

    在最近的工作中,碰到一個比較復(fù)雜的返回結(jié)果,發(fā)現(xiàn)簡單映射已經(jīng)解決不了這個問題了,只好去求助百度,學(xué)習(xí)mybatis表與實體的映射應(yīng)該怎么寫,將學(xué)習(xí)筆記結(jié)合工作碰到的問題寫下本文,供自身查漏補缺,同時已被不時之需
    2022-10-10
  • IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    初學(xué)者,想自己動手做一個簡單的demo,本文主要介紹了IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Spring Boot支持Crontab任務(wù)改造的方法

    Spring Boot支持Crontab任務(wù)改造的方法

    這篇文章主要介紹了Spring Boot支持Crontab任務(wù)改造的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 多數(shù)據(jù)源@DS和@Transactional實戰(zhàn)

    多數(shù)據(jù)源@DS和@Transactional實戰(zhàn)

    這篇文章主要介紹了多數(shù)據(jù)源@DS和@Transactional實戰(zhàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • spring boot整合Swagger2的示例代碼

    spring boot整合Swagger2的示例代碼

    Swagger 是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化RESTful風(fēng)格的 Web 服務(wù)。這篇文章主要介紹了spring boot整合Swagger2,需要的朋友可以參考下
    2017-04-04
  • java單機接口限流處理方案詳解

    java單機接口限流處理方案詳解

    這篇文章主要為大家詳細介紹了java單機接口限流處理方案,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 實例詳解Java庫中的LocalDate類

    實例詳解Java庫中的LocalDate類

    在做報表統(tǒng)計時,需要對指定時間內(nèi)的數(shù)據(jù)做統(tǒng)計,則需要使用到時間日期API,下面這篇文章主要給大家介紹了關(guān)于Java庫中LocalDate類的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01

最新評論

曲麻莱县| 马尔康县| 潜江市| 财经| 扎赉特旗| 海安县| 赣州市| 哈尔滨市| 无为县| 江西省| 会昌县| 延寿县| 屏东县| 临漳县| 石景山区| 广南县| 淄博市| 宁河县| 合川市| 辽阳县| 炉霍县| 石景山区| 乐业县| 奉贤区| 凌云县| 朔州市| 宁乡县| 肥城市| 进贤县| 新宾| 潼南县| 东乌珠穆沁旗| 盐津县| 塔河县| 修武县| 炉霍县| 福海县| 登封市| 体育| 富裕县| 鱼台县|