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

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

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

GraalVM安裝

GraalVM安裝

安裝

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

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

配置環(huán)境變量

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

java -version

native-image工具安裝

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

下載完成之后在文件目錄運(yùn)行以下命令進(jìn)行安裝

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

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

gu list

native-image

Visual Studio安裝

編譯native image必須依賴(lài)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均可
打開(kāi)Visual Studio Installer,勾選如下圖中三個(gè)組件

安裝完成后,需要配置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)用初體驗(yàn)

創(chuàng)建項(xiàng)目

運(yùn)行項(xiàng)目

調(diào)試運(yùn)行,正常啟動(dòng)

編譯運(yùn)行

編譯

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

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

./mvnw -DskipTests=true -Pnative clean package

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

運(yùn)行

運(yùn)行對(duì)比

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

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

相關(guān)文章

  • Java 隨機(jī)取字符串的工具類(lèi)

    Java 隨機(jī)取字符串的工具類(lèi)

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

    MyBatisPlus使用@TableField注解處理默認(rèn)填充時(shí)間的問(wèn)題

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

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

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

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

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

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

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

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

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

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

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

    spring boot整合Swagger2的示例代碼

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

    java單機(jī)接口限流處理方案詳解

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

    實(shí)例詳解Java庫(kù)中的LocalDate類(lèi)

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

最新評(píng)論

黄平县| 麦盖提县| 沧州市| 德格县| 会理县| 清涧县| 那曲县| 马关县| 惠东县| 湖州市| 乌拉特中旗| 大庆市| 安平县| 大姚县| 芜湖县| 灵武市| 谷城县| 翁牛特旗| 乌什县| 宝兴县| 丹阳市| 龙胜| 收藏| 武夷山市| 扎赉特旗| 拉萨市| 明溪县| 隆昌县| 花莲县| 巫山县| 子长县| 辽宁省| 乃东县| 合阳县| 甘肃省| 兰考县| 清远市| 梁平县| 梓潼县| 紫阳县| 东兰县|