graalvm 拯救生命,速速入手

news2024/10/6 23:22:42

graalvm 拯救生命,速速入手

标题很夸张,graalvm怎么就拯救生命了?把一个启动5-6秒的项目加速到3秒启动,不就是在拯救生命,拯救发际线吗?

我在上一篇博客"SpringBoot3.0工程建立"末尾启动了工程,其启动时间为6.2s,多次尝试也在5.5s以上。但是graalvm 可以使启动时间降低为3秒。

graalvm官网下载

官网下载链接为 https://www.graalvm.org/downloads/

其会引导你跳转到Github下载https://github.com/graalvm/graalvm-jdk-downloader 但是网络情况不佳的时候是上不了的。

当前最新版为GraalVM Community 22.3,使用官网首页下载命令进行下载,会获得jdk 17版本的graalvm。当然,仍然需要能够连接到github。其包大小在284M,比一般JVM大许多,毕竟支持那么多语言运行。

bash <(curl -sL https://get.graalvm.org/jdk)

如果手动下载的包,使用tar -xzvf xxx.tar,gz 进行解压即可。使用命令的会自动解压,并尝试配置你的环境变量,JAVA_HOME。

进入其目录,应如下:

dark@dark:~/.jdks/gvm/graalvm-ce-java17-22.3.0$ ls -al
总用量 448
drwxrwxr-x 10 dark dark   4096 1220 00:41 .
drwxr-xr-x  3 dark dark   4096 1220 00:41 ..
drwxrwxr-x  2 dark dark   4096 1220 00:41 bin
drwxrwxr-x  5 dark dark   4096 1220 00:41 conf
-rw-rw-r--  1 dark dark   1611 1020 18:42 GRAALVM-README.md
drwxrwxr-x  3 dark dark   4096 1220 00:41 include
drwxrwxr-x  2 dark dark   4096 1220 00:41 jmods
drwxrwxr-x  6 dark dark   4096 1220 00:41 languages
drwxrwxr-x 72 dark dark   4096 1220 00:41 legal
drwxrwxr-x 13 dark dark   4096 1220 00:41 lib
-rw-rw-r--  1 dark dark  21035 1219 23:47 LICENSE_NATIVEIMAGE.txt
-rw-rw-r--  1 dark dark  23491 1020 18:42 LICENSE.txt
-rw-rw-r--  1 dark dark   4128 1020 19:09 release
-rw-rw-r--  1 dark dark 354225 1020 18:42 THIRD_PARTY_LICENSE.txt
drwxrwxr-x  9 dark dark   4096 1220 00:41 tools

验证JAVA版本

在graalvm的bin目录下执行命令验证java版本,当前的版本为17.0.5

dark@dark:~/.jdks/gvm/graalvm-ce-java17-22.3.0/bin$ ./java -version
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08)
OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08, mixed mode, sharing)

IDE切换JAVA版本

  1. 使用快捷键ctrl+shift+alt+s。或者依次点击:文件->项目结构,并在平台设置->SDK中加入我们刚解压好的graalvm,如图:

在这里插入图片描述

  1. 在项目中,将sdk选择为我们刚引入的graalvm-17

在这里插入图片描述

启动项目

执行Application中的main方法来验证一下启动速度:

/home/dark/.jdks/gvm/graalvm-ce-java17-22.3.0/bin/java org.dark.migration.MigrationApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.0.0)

2022-12-20T01:06:02.552+08:00  INFO 10606 --- [           main] o.dark.migration.MigrationApplication    : Starting MigrationApplication using Java 17.0.5 with PID 10606 (/home/dark/code/migration/target/classes started by dark in /home/dark/code/migration)
2022-12-20T01:06:02.561+08:00  INFO 10606 --- [           main] o.dark.migration.MigrationApplication    : No active profile set, falling back to 1 default profile: "default"
2022-12-20T01:06:03.276+08:00  INFO 10606 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2022-12-20T01:06:03.299+08:00  INFO 10606 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12 ms. Found 0 JPA repository interfaces.
2022-12-20T01:06:03.941+08:00  INFO 10606 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-12-20T01:06:04.550+08:00  INFO 10606 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2022-12-20T01:06:04.611+08:00  INFO 10606 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2022-12-20T01:06:04.669+08:00  INFO 10606 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 6.1.5.Final
2022-12-20T01:06:05.420+08:00  INFO 10606 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2022-12-20T01:06:05.822+08:00  INFO 10606 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-12-20T01:06:05.832+08:00  INFO 10606 --- [           main] o.dark.migration.MigrationApplication    : Started MigrationApplication in 3.832 seconds (process running for 4.358)

可以看到启动速度仅3.8s,有效挽救了博主的顶上三毛。

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

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

相关文章

高级网络应用复习——三层热备生成树速端口OSPF实验(带命令)

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.知识点总结 路由器热备份技术HSRP &#xff08;思科私有 HS…

学web前端开发和学习其他编程语言一样吗?

前言&#xff1a; web前端是编程中门槛较低&#xff0c;较易入门的&#xff0c;对年龄和学历要求也不是特别高&#xff0c;但如果学历过低&#xff0c;年龄比较大&#xff0c;又完全没有基础&#xff0c;会在学习时感到吃力&#xff0c;另外也会因为用人公司对学历和年龄的限制…

电巢:半导体投资锐减库存调整消费者需求疲软,半导体下行周期何时结束?

前言 投行PitchBook的资料显示截止到本月5日&#xff0c;2022 年全球半导体初创企业的风险投资达到 78 亿美元。与去年创纪录的 145 亿美元投资者注入硅公司的资金相比下降了 46%&#xff0c;与 2020年的103 亿美元相比下降了 24%。 高盛&#xff08;Goldman sachs&#xff09;…

【LSTM回归预测】基于灰狼算法优化长短时记忆GWO-LSTM时序时间序列数据预测(含前后对比)附Matlab代码

​✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法…

Mycat(8):分片详解之取模

1 找到conf/schema.xml修改 2 取模的路由规则 和轮询一样&#xff0c;取模有什么好处&#xff0c;有什么坏处&#xff1f; 优点&#xff1a;利用的写的负载均衡效果&#xff0c;写入速度很快 缺点&#xff1a;批量写入&#xff0c;失败后事务的回滚有难度&#xff01;代表写…

Svelte 带来哪些新思想?赶紧学起来!

本文介绍 点赞 关注 收藏 学会了 Svelte 是我用过最爽的框架&#xff0c;就算 Vue 和 React 再强大&#xff0c;生态再好&#xff0c;我还是更喜欢 Svelte&#xff0c;因为它开发起来真的很爽。 其实在很久之前我就注意到 Svelte &#xff0c;但一直没把这个框架放在心上。…

【Python百日进阶-数据分析】Day133 - plotly饼图:px.pie()实例

文章目录四、实例4.1 带有 plotly express 的饼图4.1.1 欧洲大陆的人口4.1.2 带有重复标签的饼图4.1.3 使用 px.pie 设置饼图扇区的颜色4.1.4 对离散颜色使用显式映射4.1.5 自定义使用 px.pie 创建的饼图4.1.13 Dash 中的饼图四、实例 饼图是一种圆形统计图表&#xff0c;它被…

微服务框架 SpringCloud微服务架构 服务异步通讯 50 消息可靠性 50.2 消息持久化

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 服务异步通讯 文章目录微服务框架服务异步通讯50 消息可靠性50.2 消息持久化50.2.1 消息持久化50 消息可靠性 50.2 消息持久化 50.2.1 消息…

深入解析CSS (3)Flexbox

Flexbox&#xff0c;全称弹性盒子布局 给元素添加display: flex&#xff0c;该元素变成了一个弹性容器&#xff08;flex container&#xff09;&#xff0c;它的直接子元素变成了弹性子元素&#xff08;flex item&#xff09;。 弹性子元素默认是在同一行按照从左到右的顺序并…

[附源码]计算机毕业设计Python的黄河文化科普网站(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等…

2022年全球IB百强名校出炉,19所香港学校上榜

教育界有句话&#xff1a;“得教育者得天下&#xff0c;得IB者得教育。” 作为目前国际上认可度最高、真正无国界全球通用的、且旨在培养最全面人才的国际课程&#xff0c;IB课程正在为越来越多的学校和家长所青睐。 近日&#xff0c;Best Schools 最新公布了2022年全球最佳IB学…

卷积神经网络-高级篇Advanced-CNN

卷积神经网络-高级篇Advanced-CNN 在基础篇中我们学习了一个简单的CNN 下面介绍其他几个网络结构 GoogLeNet 蓝色为卷积&#xff0c;红色是池化&#xff0c;黄色是softmax输出&#xff0c;绿色是一些拼接层。 在这个大型的网络结构中我们需要做到的是减少代码冗余&#xff0…

为什么Python是2023最值得学的编程语言?

对于那些从来没有学习编程小伙伴&#xff0c;Python 是最好的选择之一&#xff0c; Python 是一种清晰的语言&#xff0c;用缩进来表示程序的嵌套关系可谓是一种创举&#xff0c;把过去软性的编程风格升级为硬性的语法规定。再不需要在不同的风格间选择、再不需要为不同的风格…

阿里工作7年被裁,3个月逆袭字节跳动测试开发,有些心里话想对大家说...

被裁之路 先简单交代一下背景吧&#xff0c;某不知名 985 的本硕&#xff0c;17 年毕业加入阿里&#xff0c;以“人员优化”的名义无情被裁员&#xff0c;我失去了在阿里5年的工作。虽然有事先通风&#xff0c;但是我没有想到这一天会来的那么快。今天中午收到消息说我们这个组…

网络入门基础

目录 一.预备知识 1.1网络背景 1.2协议 二.网络协议 2.1协议分层 2.2OSI 7层 2.3TCP/IP五层(或四层) 三.网络传输基本流程 3.1局域网通信 3.2 跨网络通信 3.3IP地址与MAC地址 一.预备知识 1.1网络背景 独立模式&#xff1a;计算机之间相互独立 网络互联&#xff1a; 计…

[附源码]计算机毕业设计Python的网上点餐系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

[附源码]计算机毕业设计Python的汽车租赁系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

为什么要学Python编程 到底Python值不值得学

为什么要学Python编程&#xff1f;到底Python值不值得学​&#xff1f;Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面均处于先进地位。同样学习编程语言&#xff0c;当然要选择学习业内目前先进、热门、将来应用广泛、有前途和前景的编程语言…

计算机行业真的这么吃香吗,他的真实薪资情况到底如何呢?

越来越多的人涌入计算机行业&#xff0c;这个行业真的这么吃香吗&#xff0c;他的真实薪资情况到底如何呢&#xff1f; 近些年来&#xff0c;不论是否是计算机专业的学生或者是社会人员&#xff0c;都选择一脚踏入这个行业。它真的这么好吗&#xff1f; 首先从地域而言&#…

LeetCode 1971. 寻找图中是否存在路径

【LetMeFly】1971.寻找图中是否存在路径 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-if-path-exists-in-graph/ 有一个具有 n个顶点的 双向 图&#xff0c;其中每个顶点标记从 0 到 n - 1&#xff08;包含 0 和 n - 1&#xff09;。图中的边用一个二维整数数…