精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

讓Java起飛的技術...

開發 前端
Spring Native是Spring Boot團隊與GraalVM團隊合作的產物,作為一個獨立的子項目存在。它充分利用了GraalVM的特性,例如AOT編譯,以提供更快的啟動速度和更低的內存消耗。此外,Spring Native還支持將Spring Boot應用程序編譯成本地可執行文件。

GraalVM

GraalVM是一個高性能運行時環境,它基于OpenJDK, HotSpot和JRockit,并提供了在Java虛擬機上運行其他語言的能力,比如JavaScript,Python,Ruby等。旨在提高基于Java和JVM的應用的性能并簡化Java云原生服務的構建和運行

GraalVM與JDK的對比

  • 性能GraalVM在性能方面相較于JDK有著顯著的優勢。GraalVM通過即時編譯(JIT)技術實現了更低的啟動時間和更高的執行速度。通過JIT和AOT編譯器,可以在運行時和部署時將字節碼編譯成本地機器代碼,從而提高應用程序的性能。
  • 編譯方式GraalVM提供了AOT編譯器,可以在應用程序部署時將其編譯成本地機器代碼,從而進一步提高應用程序的性能和啟動時間。而JDK在這方面的支持相對較弱。
  • 語言支持GraalVM支持多種編程語言,如JavaScript、Python、R等,這使得開發者可以使用熟悉的語言進行開發,降低了學習成本。而JDK主要支持Java語言。
  • 內存消耗GraalVM在內存消耗方面也優于JDK。GraalVM采用了低延遲垃圾回收(LLGC)技術,可以在不影響性能的情況下實現更高效的內存管理。
  • 兼容性GraalVM提供了與Java虛擬機(JVM)兼容的API,使得已經使用JVM的應用程序可以無縫遷移到GraalVM上。這使得GraalVM在兼容性方面具有優勢。
  • 互操作性使用GraalVM Truffle,Java和其他支持的語言可以直接相互互操作,并在同一內存空間中來回傳遞數據。這種互操作性提高了不同語言之間的協作效率。

GraalVM的使用場景

  • 微服務架構在微服務架構中,每個服務都需要獨立部署和擴展。GraalVM可以作為服務的基礎運行時環境,提供高性能和低內存消耗的支持。同時服務之間的頻繁調用,以及各個服務的部署,都依賴于服務本身的性能以及啟動速度。
  • 云計算在云計算環境中,資源利用率是關鍵因素。GraalVM可以在有限的資源下提供更高的性能,降低云服務的運營成本。
  • 大數據處理大數據處理需要高性能和低延遲的計算能力。GraalVM可以有效地支持各種數據處理任務,提高數據處理速度。

GraalVM的優缺點

  • 優點:

高性能:GraalVM通過即時編譯技術和多語言并行執行實現了高性能的運行時環境。

低內存消耗:GraalVM采用低延遲垃圾回收技術實現了高效的內存管理。

多語言支持:GraalVM支持多種編程語言,降低了開發者的學習成本。

跨平臺兼容性:GraalVM基于OpenJDK, HotSpot和JRockit,具有良好的跨平臺兼容性。

  • 缺點:
  • 學習成本:雖然GraalVM支持多種編程語言,但對于Java開發者來說,需要學習新的編程模型和API。
  • 社區支持:相較于JDK,GraalVM的社區支持相對較弱。

AOT與JIT

JIT(Just-in-Time,即時編譯)和AOT(Ahead-of-Time,預編譯)是兩種主流的編譯技術。

JIT編譯器是在程序運行的時候進行編譯,這個過程是動態的, 并且每次運行程序時都可能對代碼進行重新編譯。這樣的編譯方式能夠支持更多的動態特性,峰值性能更高,更有利于調試。據說JIT編譯可以拿到比AOT編譯更多的運行時信息,從而做出更優化的決策。

AOT編譯器則是在程序運行前就進行編譯,這個過程是靜態的。應用程序在安裝的時候會通過dex2oat工具將dex文件預編譯成ELF文件,這樣在每次運行程序時, 因為代碼已經被提前編譯過,所以不需要再重新編譯。這種方式使得應用的啟動速度更快,資源占用也略微低一些。

值得一提的是,AOT和JIT也可以結合使用,以發揮各自的優勢。例如在某些語言或框架中,可以使用靜態AOT編譯來提前將整個應用程序編譯好,而在程序運行過程中則使用動態JIT編譯來提升程序的運行效率。

準備

下載GraalVM

直接進入官網,https://www.graalvm.org/downloads/,根據自己計算機系統類型選擇對應版本即可。

我的電腦是WIN11,所以選擇了Java 17 | Windows(x64),對應下載的版本為:graalvm-jdk-17.0.9+11.1

如果有安裝SDKMAN,可以通過下面的命令安裝:

sdk install java 21.0.1-graal

配置GraalVM環境

從下載的graalvm文件名稱也可以看出,其本身也是jdk,打開安裝文件里的bin目錄,可以看到也有java javac等等命令,可以將本地Java環境覆蓋,當然這個不是必須的。比如我使用IDEA時,選擇項目對應的SDK即可。

GRAALMVM_HOME= <your graalvm-jdk path>

PATH=%GRAALMVM_HOME%\bin

這樣我們就可以在終端使用native-image命令了。

通過native-image可以把Java代碼編譯為本地二進制可執行文件。本地可執行文件只包括運行時所需的代碼,即應用程序類、標準庫類、語言運行時和來自JDK的靜態鏈接的本機碼。

安裝Visual Studio

可以通過Visual Studio Installer來安裝,下載地址 https://visualstudio.microsoft.com/zh-hans/downloads/, 這里需要選擇17.0以上的版本,否則后面會出現問題,我這里選擇的是Visual Studio Community2022

圖片圖片

示例

  • 將一個Java文件生成一個可執行exe程序
  1. 編寫Java代碼
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
  1. 編譯
javac  HelloWorld.java
  1. 打包
native-image com.sucl.blog.vm.graalvm.HelloWorld
  1. 測試
com.sucl.blog.vm.graalvm.HelloWorld.exe

  • 從Spring Boot 3.0就已經支持GraalVM原生鏡像,這里通過一個基于Spring Boot的簡單項目來看如何使用GraalVM
  1. 引入依賴,這里需要使用native-maven-plugin將最終的jar打包成exe文件
<project>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
                <version>0.9.25</version>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  1. 編寫Java代碼
@RestController
@SpringBootApplication
public class GraalVMApplication {

    public static void main(String[] args) {
        SpringApplication.run(GraalVMApplication.class, args);
    }

    @GetMapping
    public String index(){
        return "hello GraalVM";
    }
}
  1. 編譯打包可以直接通過mvn命令:
mvn -Pnative clean native:compile -f pom.xml

或者通過右側Maven選項,選擇native插件,配置運行參數,直接運行即可

圖片圖片

整個打包過程比較長,由于需要將jar文件轉換可直接運行的成二進制exe文件,整個編譯的過程都會比較漫長。啟動完成后可以看到這樣的信息

圖片圖片

  1. 測試

在項目target目錄中,可以看到生成的exe文件,直接雙擊運行。以前幾秒甚至幾十秒才能啟動的項目,現在實現了秒開...

通過GraalVM Native Image,可以將Java字節碼直接編譯成特定于平臺的、自包含的本機可執行文件,從而實現更快的啟動速度和更小的應用程序占用空間。java跨平臺的特性好像也沒了...

打開瀏覽器,輸入http://localhost:8080/則可以看到與普通項目相同的效果

其他支持

通過官網可以看到,GraalVM Native除了支持上面的基于jar的構建,還有以下

圖片圖片

遇到的問題

  • 編譯時出現如下問題
Error: Error compiling query code (in C:\Users\Us\AppData\Local\Temp\SVM-9567697918431257239\AMD64LibCHelperDirectives.c). Compiler command ''C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\Hostx64\x64\cl.exe' /WX /W4 /wd4201 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\Us\AppData\Local\Temp\SVM-9567697918431257239\AMD64LibCHelperDirectives.exe' 'C:\Users\Us\AppData\Local\Temp\SVM-9567697918431257239\AMD64LibCHelperDirectives.c'' output included error: [AMD64LibCHelperDirectives.c, C:\Users\Us\AppData\Local\Temp\SVM-9567697918431257239\AMD64LibCHelperDirectives.c(1): fatal error C1034: stdio.h: 不包括路徑集]
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception

下載好Visual Studio后記得根據你的安裝路徑來配置系統環境變量:

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

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

PATH=
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\Hostx64\x64

擴展內容

  • Spring Native

Spring Native是Spring Boot團隊與GraalVM團隊合作的產物,作為一個獨立的子項目存在。它充分利用了GraalVM的特性,例如AOT編譯,以提供更快的啟動速度和更低的內存消耗。此外,Spring Native還支持將Spring Boot應用程序編譯成本地可執行文件。

Spring Boot 3的Native則更側重于與Spring Boot主體的整合,可能更深度地整合了Spring Boot的特性與功能。

目前Spring Native已經由Spring Boot替代

https://docs.spring.io/spring-boot/docs/current/reference/html/native-image.html

  • Quarkus

Quarkus的創建是為了使Java開發人員能夠為現代的、云原生的世界創建應用程序。Quarkus是一個為GraalVM和HotSpot定制的Kubernetes 原生Java框架,由最佳的Java庫和標準精心打造。其目標是使Java成為Kubernetes和無服務器環境的領先平臺,同時為開發者提供一個框架, 以解決更廣泛的分布式應用架構問題。

https://cn.quarkus.io/about/

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2023-10-20 07:29:16

框架模型Prompt

2017-12-05 23:45:23

物聯網無線充電智能

2024-12-20 13:00:00

C++編程C++17

2021-01-01 14:36:03

Python開發語言

2023-12-28 10:01:05

ChatGPT技巧信息

2021-02-22 11:12:24

ExcelPython數據

2018-03-31 08:52:32

物聯網技術IoT

2024-06-04 10:37:06

2023-05-16 06:50:50

prompt郵件語法

2024-06-13 09:17:41

2023-09-05 07:00:42

2024-02-23 08:18:32

首屏產品瀏覽器

2023-10-16 23:06:26

2022-08-12 09:31:05

數據查詢

2023-04-13 07:33:31

Java 8編程工具

2021-07-06 06:39:58

Kafka消息隊列系統

2025-08-26 02:11:00

MyBatis原生開發

2021-08-13 22:35:57

Windows微軟電腦

2022-11-14 11:52:34

DataspellJupyterLabNotebook
點贊
收藏

51CTO技術棧公眾號

国产成人在线免费视频| 香蕉视频在线观看黄| 91在线免费看| 成人一区二区在线观看| 欧美综合激情网| 秋霞欧美一区二区三区视频免费| 中国黄色一级视频| 国产精品欧美综合亚洲| 不卡av一区二区| 日韩美女在线视频| 男人操女人免费| 最新黄网在线观看| 国产午夜精品一区二区三区视频| 97欧洲一区二区精品免费| 91午夜精品亚洲一区二区三区| 天天影视天天精品| 亚洲欧美国内爽妇网| 91人妻一区二区三区| 精品三区视频| 午夜一区二区三区视频| 亚洲国产精品影视| 搞黄视频在线观看| 91在线视频在线| 91久久精品www人人做人人爽| 天天操天天干天天摸| 亚洲第一黄色| 久久99精品视频一区97| 99视频网站| 1级黄色大片儿| 欧美成人午夜| 日韩视频永久免费观看| 精品国产无码在线观看| 日韩系列在线| 亚洲精品在线三区| 欧美性猛交乱大交| 成人在线视频www| 欧美日韩在线一区二区| 熟女人妇 成熟妇女系列视频| av中文字幕在线观看第一页| 一区二区日韩av| 免费观看中文字幕| 午夜免费视频在线国产| 亚洲国产精品成人综合| 日韩精品久久久免费观看| 青青草免费观看免费视频在线| 成人动漫中文字幕| 国产精品久久7| 亚洲大尺度视频| 国产成人精品午夜视频免费| 91观看网站| 国产免费不卡视频| 国产乱一区二区| 亚洲自拍偷拍一区| 国产黄色片av| 国产成人av福利| 翡翠波斯猫1977年美国| 成人久久精品人妻一区二区三区| 丁香一区二区三区| 国产精品一区二区av| 日本韩国免费观看| 91视频观看视频| 女人一区二区三区| av电影在线观看| 亚洲欧美在线另类| 久久久成人精品一区二区三区| 国产三区视频在线观看| 亚洲一区二区精品久久av| 国产96在线 | 亚洲| 黑人精品一区| 欧美日韩在线三级| 国产人妻精品久久久久野外| 成人资源在线播放| 亚洲精品视频网上网址在线观看 | av资源网在线播放| 欧美日韩精品在线| 天堂社区在线视频| 久久久精品视频国产| 精品国产九九九| 成人福利视频在线看| 蜜桃精品久久久久久久免费影院| 高清av电影在线观看| 亚洲欧洲av色图| 精品一二三四五区| 欧美成人免费电影| 91精品麻豆日日躁夜夜躁| 岛国精品一区二区三区| 国产免费久久| 欧美精品少妇videofree| 国产精品theporn动漫| 日韩在线卡一卡二| 2020国产精品久久精品不卡| 天堂在线视频免费| 国产精品久久久久9999吃药| 日韩欧美99| 中文字幕在线三区| 色婷婷精品久久二区二区蜜臀av | 欧美va视频| 欧美一区二区三区四区在线观看| 北岛玲一区二区| 国产精品久久久久一区二区三区厕所 | 日本久久电影网| 日批视频在线看| 欧美**字幕| 久久69精品久久久久久国产越南| 国产无遮挡呻吟娇喘视频| 久久99精品国产.久久久久久 | 色琪琪久久se色| 久久免费精品视频| 一起草av在线| 99re亚洲国产精品| 久久观看最新视频| 香蕉成人影院| 日韩成人中文字幕| 日韩视频中文字幕在线观看| 丝袜国产日韩另类美女| 国产区一区二区三区| 毛片在线看片| 在线中文字幕一区| 成人在线观看一区二区| 亚洲女同中文字幕| 国产精品美女www爽爽爽视频| 日韩性xxxx| 亚洲制服丝袜在线| 欧美性猛交xxxx乱大交91| 青青草国产成人a∨下载安卓| 欧美亚洲激情在线| 日本高清视频免费看| 一区二区三区在线看| 8x8x成人免费视频| 日韩av自拍| 国产成人亚洲综合| 日本大臀精品| 精品人伦一区二区三区蜜桃免费 | 一级做a爰片久久毛片16| 久久男人中文字幕资源站| 国产视频九色蝌蚪| 激情小说亚洲图片| 欧美激情小视频| 性一交一乱一透一a级| 亚洲欧美一区二区三区孕妇| 九九热免费在线观看| а中文在线天堂| 欧美调教在线| 欧美极品少妇xxxxⅹ裸体艺术 | 精品国产一区二区三区av性色| 日韩欧美综合视频| 国产在线精品不卡| 中文字幕不卡每日更新1区2区| 久久xxx视频| 正在播放欧美视频| 中文字字幕在线观看| 国产精品欧美一级免费| 黄色一级片免费的| 国产精品毛片一区二区在线看| 国产精品私拍pans大尺度在线 | 五月激情五月婷婷| 欧美丰满日韩| 亚洲最大的网站| 国产黄色大片在线观看| 亚洲激情视频网站| 国产区一区二区三| 国产日韩欧美电影| 欧美日韩中文不卡| 这里只有精品在线| 国产精品二区二区三区| 在线男人天堂| 中文字幕日韩欧美精品在线观看| 97视频免费在线| 亚洲自拍欧美精品| 蜜桃精品一区二区| 麻豆精品一区二区| 白白操在线视频| 秋霞影视一区二区三区| 国产精品久久久久7777婷婷| 欧美极品视频| 亚洲国产另类 国产精品国产免费| 国产精品国产三级国产专区52| 国产欧美中文在线| 中文字幕第22页| 国产午夜精品一区二区三区欧美| 亚洲国产精品一区二区第一页| 高清一区二区三区av| 97人洗澡人人免费公开视频碰碰碰| 能在线看的av| 91精品国产乱码| wwwxxx亚洲| 国产精品久久久久一区二区三区 | 日韩有码第一页| 日本大香伊一区二区三区| 亚洲人与黑人屁股眼交| 成人av网站在线观看| 国产又黄又猛又粗| 激情av一区| 亚洲欧美综合一区| 国产三级精品三级在线观看国产| 国产精品嫩草影院一区二区| 欧美人与动牲性行为| 国产一区二区三区免费视频| 性生活视频软件| 欧美日韩五月天| www.av麻豆| 亚洲日穴在线视频| 国产人妻一区二区| 国产不卡视频一区| 五月婷婷六月合| 国产精品日韩精品欧美精品| 在线一区高清| 国产在视频线精品视频www666| 爱情岛论坛亚洲入口| 91福利精品在线观看| 性日韩欧美在线视频| 国产在线观看a| 夜夜嗨av一区二区三区四区 | 国产一区二区三区免费观看在线| 欧美专区福利在线| 丰满大乳少妇在线观看网站| 色偷偷偷亚洲综合网另类| 日韩欧美在线番号| 精品成人一区二区| 精品国产av一区二区| 欧美网站大全在线观看| 特黄视频免费看| 亚洲国产一区二区视频| 亚洲色婷婷一区二区三区| 欧美国产日本韩| 播金莲一级淫片aaaaaaa| 成人av综合一区| 丰满人妻一区二区三区53视频| 麻豆精品一区二区av白丝在线| 成人在线观看a| 国产亚洲精品v| 每日在线更新av| 亚洲三级国产| www在线观看免费| 在线欧美三区| 日韩国产欧美亚洲| 亚洲国产高清视频| 日韩精品在线视频免费观看| 欧美日韩国产一区精品一区| 国产精品视频网站在线观看| 欧美精品麻豆| 欧美一级爱爱视频| 国产精品vip| 2018中文字幕第一页| 欧美视频在线观看| 阿v天堂2018| 制服诱惑一区二区| 777久久久精品一区二区三区| 中国女人久久久| 激情六月丁香婷婷| 久久中文精品| 亚洲最大成人在线观看| 蜜臀久久99精品久久久久宅男 | 九九精品免费视频| 精品日韩视频在线观看| 久久久黄色大片| 91高清视频在线| 这里只有精品免费视频| 欧美欧美午夜aⅴ在线观看| 国产裸体无遮挡| 日韩欧美成人午夜| 天堂网在线观看视频| 亚洲美女精品成人在线视频| 国产三级视频在线播放线观看| 日韩视频免费看| 日本孕妇大胆孕交无码| 91高清免费视频| 欧美在线va视频| 91亚洲精品久久久| 精品国内亚洲2022精品成人| 欧美日韩高清在线一区| 久久视频精品| 久久艹国产精品| 久久青草久久| 国产欧美激情视频| 成人少妇影院yyyy| 国产免费一区二区三区网站免费| 中文字幕日本不卡| 国产精品成人av久久| 91久久精品国产91性色tv| jlzzjlzzjlzz亚洲人| 亚洲高清av在线| www亚洲人| 久久免费福利视频| 99热播精品免费| αv一区二区三区| 欧美三级三级| 亚洲区成人777777精品| 男人的天堂亚洲在线| 成年网站免费在线观看| 99riav一区二区三区| 男的操女的网站| 色综合欧美在线视频区| 精品国产伦一区二区三区| 亚洲午夜小视频| 成人黄色动漫| 成人激情视频网| 伊人久久大香线蕉av不卡| 三年中文高清在线观看第6集| 国产精品视频| 亚洲国产欧美91| 国产精品免费观看视频| 久久久久久久黄色片| 91精品在线观看入口| 国产一区电影| 国模精品一区二区三区色天香| 91成人在线网站| 日本不卡高清视频一区| 激情综合中文娱乐网| av在线网站免费观看| 国产视频一区二区在线观看| 日韩大片免费在线观看| 日韩一区二区三区四区五区六区| 精品999视频| 国产91ⅴ在线精品免费观看| 深夜福利一区| 天天综合五月天| 蜜臀久久99精品久久久画质超高清| 蜜桃精品一区二区| 午夜成人在线视频| 亚洲乱码精品久久久久..| 精品久久久999| 国产精品伊人| 日产精品一线二线三线芒果| 国产精品久久久久久久免费软件| 国产成人av片| 亚洲资源在线观看| www.99视频| 欧美巨乳在线观看| 伊人久久大香线蕉综合影院首页| 亚洲黄色一区二区三区| 日韩成人一区二区| 美女100%无挡| 日韩人体视频一二区| 性xxxxbbbb| 51ⅴ精品国产91久久久久久| 国产精品毛片视频| 青草青青在线视频| 高清不卡在线观看| 久久精品国产亚洲av香蕉 | 精品推荐蜜桃传媒| 91av福利视频| 制服丝袜日韩| 国产精品久久久久9999小说| 欧美激情一区在线| 中文字幕第99页| 色婷婷av一区二区三区久久| 人人玩人人添人人澡欧美| 樱花www成人免费视频| 国内精品久久久久影院色| 手机av在线看| 欧美成人国产一区二区| 波多野结衣在线高清| 精品欧美日韩| 石原莉奈在线亚洲二区| 国产成人免费观看网站| 欧美日韩国产综合久久| 国产在线观看免费麻豆| 国产精品欧美久久| 亚洲欧美日本视频在线观看| 毛片网站免费观看| 欧美日韩一本到| 大片免费在线观看| 国产精品jizz视频| 久久综合导航| 一级黄色片日本| 日韩精品一区二区三区老鸭窝| free性m.freesex欧美| 免费国产一区二区| 麻豆精品视频在线| 久久免费精彩视频| 日韩第一页在线| 成人看片毛片免费播放器| 亚洲国产精品女人| kk眼镜猥琐国模调教系列一区二区| 国产一区二区视频网站| 精品国产拍在线观看| 超碰精品在线观看| 冲田杏梨av在线| 一区二区视频免费在线观看| 天堂a√中文在线| 国产在线不卡精品| 国产欧美精品久久| sm捆绑调教视频| 亚洲大胆人体视频| 69堂精品视频在线播放| bt天堂新版中文在线地址| 久久亚洲私人国产精品va媚药| 亚洲中文字幕在线观看| 久久久久久久久久久91| 波多野结衣一区| 最新版天堂资源在线| 欧美视频在线一区二区三区| 性欧美ⅴideo另类hd| 日韩av图片| 从欧美一区二区三区| 亚洲精品一区二区二区| 欧美激情在线观看| 色天天综合网| 伊人网伊人影院|