windows下使用springboot3.0 和 使用grallVM虚拟机

news2024/9/30 1:41:41

一:准备环境:

JDK17 下载地址 :https://www.oracle.com/java/technologies/downloads/

GrallVM 虚拟机 下载地址:https://www.graalvm.org/downloads/

Gradle 7.5 or Maven 3.5 (以上版本)

visual studio 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

设置环境变量

1.grallVM下载后解压,设置环境变量

添加变量 GRAALVM_HOME 值为grallVM安装地址
在这里插入图片描述

添加进path

2 添加JAVA_HOME
在这里插入图片描述

添加入path
在这里插入图片描述

在控制台输入 java -version ,看当前版本。jdk17+graalVM
在这里插入图片描述

3.因为grallVM需要C++环境,所以我们还需要安装visual studio 选择C++桌面开发 ,箭头指的3个必须选,自己windows是什么版本就选择什么版本,记住自己的安装位置,要配置环境变量
在这里插入图片描述

配置环境变量

配置第1个环境变量,在Path中添加:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64
在这里插入图片描述

配置第2个环境变量,新增INCLUDE环境变量

C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include;
在这里插入图片描述

配置第3个环境变量,新增lib环境变量:

在这里插入图片描述

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\lib\x64;

4 .安装native-image

gu install native-image

因为之前已经配置了grallVM的环境变量,所以可以直接执行,我的已经安装
在这里插入图片描述

查看已安装的工具 gu list

在这里插入图片描述

至此环境已经配置好

二. 创建并启动服务

2.1创建服务

idea创建springboot3.0+grallVM

1.选择jdk17
在这里插入图片描述

2.选择grallVM+springweb

在这里插入图片描述

在这里插入图片描述

pom.xml 生成插件,这是grallvm编译核心插件

org.graalvm.buildtools native-maven-plugin org.springframework.boot spring-boot-maven-plugin

idea配置jdk17

在这里插入图片描述
在这里插入图片描述

2.2 启动服务

2.2.1先使用传统方法启动,启动约1秒
在这里插入图片描述

2.2.2 使用grallVM打成镜像启动服务

2.2.2.1命令执行在服务目录下执行

执行springboot项目aot预处理操作

mvn spring-boot:process-aot
在这里插入图片描述

使用native-image将项目jar包打成可执行文件,这个过程通常要较长时间

mvn -Pnative native:build
在这里插入图片描述

执行成功生成 执行时文件,在target目录下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.2.2或者不使用命令,maven下执行也可以
在这里插入图片描述

对比:前者约为后者的4倍

启动时间对比:测试可执行文件启动速度只要0.1秒,比传统方式要快10倍左右
在这里插入图片描述

在这里插入图片描述

占用内存对比:传统jvm
在这里插入图片描述

镜像启动exe

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1129697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SolidworksSimulation完成对压力容器的强度分析

如何通过使用SolidworksSimulation完成对压力容器的分析并查看实 体的膜片应力强度以及弯曲应力强度,操作简单易学,让我们进入到操作界面。 我们以罐体底部实体模型为例,这里已经提前设置好了材料。 点击新算例,选择静应力分析 由…

【三维重建-PatchMatchNet复现笔记】

【三维重建-PatchMatchNet复现笔记】 1 突出贡献2 数据集描述3 训练PatchMatchNet3.1 输入参数3.2 制定数据集加载方式 1 突出贡献 在计算机GPU和运行时间受限的情况下,PatchMatchNet测试DTU数据集能以较低GPU内存和较低运行时间,整体误差位列中等&#…

Mac运行Docker报错

Mac运行Docker报错 📔 千寻简笔记介绍 千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点…

利用扰动模型计算旋转矩阵的导数例题

深蓝学院《自动驾驶与机器人中的SLAM技术》第一次课习题 这里直接贴出图片了,懒得打字了。

计算机基础知识38

创建表的完整语法 create table t1(id int,name varchar(43),age int); create table 库名.表名( 字段名1 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 约束条件...); 1. 字段名和数据类型必须…

Socket 是什么? 总结+详解

文章摘要:Socket 套接字 编程接口 netstat-ano 创建 建立连接 断开 删除 1.Socket 是什么 Socket :套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和…

Netty 入门 — ByteBuf,Netty 数据传输的载体

上篇文章(Netty 入门 — Bootstrap,一切从这里开始),我们了解了 Netty 的第一个核心组件:Bootstrap,它是 Netty 程序的开端。今天我们来熟悉 Netty 的第二个组件:ByteBuf,Netty 数据…

尚硅谷大数据项目《在线教育之实时数仓》笔记003

视频地址:尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第7章 数仓开发之ODS层 P015 第8章 数仓开发之DIM层 P016 P017 P018 P019 01、node001节点Linux命令 02、KafkaUtil.java 03、DimSinkApp.java P020 P021 P022 P023 第7章 数…

GNSS全球卫星导航系统相关技术

一、参考资料 映核物联网|什么是GNSS? 二、GNSS相关介绍 GNSS(Global Navigation Statellite System),即全球导航卫星系统,GNSS的作用是定位和导航。至少4颗卫星,实现准确定位。 1. 全球导航…

vue3使用flv播放视频监控

第一种方法使用安装的 npm install --save flv.js,会出现报错的情况,如flv.js播放视频时出现Failed to execute ‘appendBuffer’ on ‘SourceBuffer’ 解决方法[https://www.cnblogs.com/melancholys/p/14085804.html](https://www.cnblogs.com/melanch…

1024版烟花--2的10次方 快乐

效果: import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;public class App extends Frame {//背景int b1x[] {0, 666, 666, 0};int b1y[] {00, 0, 666, 666};Thread thread;int count 8;//个数App() {setLayout(new …

Potplayer通过公网访问群晖WebDav,快速搭建远程办公环境

文章目录 1 使用环境要求:2 配置webdav3 测试局域网使用potplayer访问webdav4 内网穿透,映射至公网5 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内容让人一言难尽,就算是购买了国外的优秀作品,也总是在关键剧情上删删…

apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】

往期教程 apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】 上期演示了下如何修改apk的名称。相信只要用心的友友都会操作了。这次讲解下如何修改软件的版本号与版本名字的操作 名词浅释: 在apk反编译中的VersionCode---是版本号的意思.是一…

【Linux学习】—Linux常用指令(一)

【Linux学习】—Linux常用指令(一) 一、组管理和权限管理 在Linux中的每个用户必须属于一个组,不能独立于组外。 1️⃣所有者 一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。 查看文件的所有者…

马尔科夫链、PCV及贝叶斯动图详解

马尔科夫链、主成分分析以及条件概率等概念,是计算机学生必学的知识点,然而理论的抽象性往往让学生很难深入地去体会和理解。而本文,将这些抽象的理论概念,用可视化的方式来解释,还可调节相应参数来改变结果&#xff0…

1997-2021年世界各国GDP数据

1997-2021年世界各国GDP数据 1、时间:1997-2021年 2、来源:世界银行 3、范围:世界各国 4、指标:国内生产总值(固定LCU)、国内生产总值(当前LCU)、国内生产总值(现值美…

2023年或者每一年值得最被关注的技术趋势是什么?

2023年或者近几年中,值得关注的技术趋势有很多,其中一些主要的包括: 人工智能与机器学习: 人工智能(AI)和机器学习(ML)继续在各个行业中引起变革,从医疗保健到金融服务,再…

快速入门Elasticsearch:安装、基本概念、分词器和文档基本操作详解

本文主要介绍快速入门 Elasticsearch,从 安装 、 基本概念 、 分词器 、*** 文档基本操作 *** 这 4 个方面快速入门。 Elasticsearch 是一款近实时的搜索引擎,底层是基于 Lucene 做搜索,再此基础上加入了分布式的特性,以便支持海…

QListWidget 类使用教程

文章目录 1、简介2、属性3、functions3.1、访问属性相关 function3.2、公共槽3.3、Signal3.4、其他方法 QT 官方文档参考地址:https://doc.qt.io/qt-5/qlistwidget.html 1、简介 moudleclass说明PyQt5.QtWidgets包含了一整套UI元素控件,用于建立符合系统…

Hugging face下载的离线模型不会用?没关系,看这里

可能遇到的问题: 不知道大家有没有碰到这样的问题,想从hugging face 加载模型,使用其提供的接口做一个简单的demo,但是由于网络的原因没办法正常访问: (MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443):…