来浅谈一下:GraalVM下载、安装、特点、概括

news2024/12/26 20:48:53

文章目录

  • 前言
  • 一、GraaIVM是什么?
  • 二、GraaIVM优点
  • 三、安装GraaIVM
    • 1.GraaIVM Community版本`简略`
    • 2.下载
    • 3.解压
    • 4.配置变量
      • 4.1、JAVA_HOME改成graalvm的位置
      • 4.2、编辑path
    • 5、查看
  • 总结


前言

GraaIVM

High-performance runtime with new compiler optimizations to accelerate Java application performance and lower infrastructure costs on premises and in the cloud

GraalVM是什么呢?从名称来看,它就是VM虚拟机,有什么特点呢?官方的总结:High Performance. Cloud Native. Polyglot翻译过来就是 高性能、云原生、支持多语言的VM。


解析

一、GraaIVM是什么?

  1. GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。
  2. GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。
  3. GraalVM向JDK添加了一个优化编译器,它为各种语言提供性能优化,并为多语言应用程序提供互操作性。除了支持Java代码,GraalVM还支持其他编程语言,包括Scala、Kotlin、Groovy、Clojure、R、Python、JavaScript和Ruby。从本质上讲,GraalVM允许开发人员在单个应用程序中以多种语言和库高效地运行代码。

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

二、GraaIVM优点

  1. 加速JAVA性能:高性能JIT编译器生成优化的本机代码,运行速度更快,产生的垃圾更少,使用的CPU更少
  2. 更低的基础设施成本:不需要更改底层代码,提升了8%-11%的吞吐量,极大的降低了服务器成本
  3. 良好的JDK支持:支持 Java8和Java11使用,并致力于Java发展:java17、java19+
  4. 与Java生态系统中的所有工具兼容:GraalVM将Java生态系统和社区的力量与更强大的JDK发行版相结合,以达到最好的效果。
  5. 良好的框架支持:用于微服务的Micronaut、Helidon、Quarkus或Spring Boot,用于命令行应用的PicoCLI——无论您面临何种任务,都有一个GraalVM本机映像兼容框架可使您的工作更容易。
  6. 支持多种编程语言与交互:除了支持Java代码,GraalVM还支持其他编程语言,包括Scala、Kotlin、Groovy、Clojure、R、Python、JavaScript和Ruby。

来自菜鸟的第一次英文翻译,希望大家勿喷共勉。

三、安装GraaIVM

1.GraaIVM Community版本简略

代码如下(示例):

  • GraaIVM 22.3.0 支持(java11.0.17、java17.0.5、java19.0.1 )

  • GraaIVM 22.2.0 支持(java11.0.16、java17.0.4 )

  • GraaIVM 22.1.0 支持(java11.0.15、java17.0.3 )

  • GraaIVM 22.0.0 支持(java11.0.14、java17.0.2 )

  • GraaIVM 19.3.6 支持(java8u292、java11.0.11)

    版本众多,不做一一阐述,详情请参见官网
    GraaIVM版本选择:https://www.graalvm.org/release-notes/
    GraaIVM官网:https://www.graalvm.org/

2.下载

这里下载社区版,
然后根据JDK版本选择 GraaIVM版本,因为本人用的是 JDK17.0.5
查看JDK版本
win + R 输入: cmd 输入 : java -version
在这里插入图片描述

所以下载GraaIVM 22.3

在这里插入图片描述

Navigate to the GraalVM Releases repository on GitHub. Select Java 11
based or Java 17 based distribution for Windows, and download. 网站原文

链接跳转到了Github,下载很慢
在这里插入图片描述
下载完以后长这样

在这里插入图片描述

3.解压

Change the directory to the location where you want to install GraalVM, then move the .zip archive file to it. 网站原文
Unzip the archive to your file system 网站原文

在这里插入图片描述

4.配置变量

There can be multiple JDKs installed on the machine. The next step is
to configure the runtime environment. Setting environment variables
via the command line will work the same way for Windows 7, 8, and 10. 网站原文

Point the PATH environment variable to the GraalVM bin directory 网站原文

4.1、JAVA_HOME改成graalvm的位置

在这里插入图片描述
我这里因为配置着切换多JDK,可能跟大家的不一样(想进行切换的请跳转)

4.2、编辑path

如果之前安装过jdk,为了防止不必要的麻烦,直接将标记的变量放在第一位
在这里插入图片描述

5、查看

win + R 输入: cmd 输入 : java -version
在这里插入图片描述

success


总结

提示:本人很菜,大家多担待,我会努力的:

水积而鱼聚,木茂而鸟集。

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

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

相关文章

unity计算着色器

序 计算着色器,是什么?好像是并行计算的一个东西。 并行计算,挖矿?显卡? 那看来得先了解显卡,再了解计算着色器了。 认识显卡 显卡,小白,不懂。 显卡的印象,只是停…

批量修改文件名,图文教学,2分钟简单学会

​文件名称是文件的重要组成部分,在我们日常生活中,对文件进行命名,是经常使用到的一种功能。可是有时候需要重命名的文件实在是太多了咋办呢?有没有什么方法可以批量修改文件名? 本文将以图文教学的方式,…

为什么不建议在MySQL中使用 utf8?

MySQL 字符编码集中有两套 UTF-8 编码实现:utf8 和 utf8mb4。 如果使用 utf8 的话,存储 emoji 符号和一些比较复杂的汉字、繁体字就会出错。 为什么会这样呢?这篇文章可以从源头给你解答。 何为字符集? 字符是各种文字和符号的…

LPA-star算法(Lifelong Planning)及相关思考

一、LPA-star算法(Lifelong Planning)简介 LPA * ( Lifelong Planning 终身规划 A * )是一种基于A * 的增量启发式搜索算法,被用来处理动态环境下从给定起始点到给定目标点的最短路径问题,即起始点和目标点是固定的。 &#xff08…

图数据库知识点1:图数据库与关系型数据库区别

文章目录 前言一、图数据库区别于其他数据库的核心是什么?二、图数据库能解决哪些问题? 1.图的优势2.目前的图的实现方式及优劣3.图的技术趋势及优势小结总结前言 《图数据库知识点》系列有20讲,每一讲中会重点分享一个图数据库知识点&#…

什么是JVM?JVM的机制与JVM自动内存管理机制,如何进行优化

1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码…

彻底搞懂MySql的B+Tree

1.什么是索引 官方定义:一种能为mysql提高查询效率的数据结构,索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。好比如,一本书,你想找到自己想看的章节内容,直接查询目录就行。这里的目录就类似索引…

华为路由器升级系统文件

欢迎关注微信公众号【厦门微思网络】。http://www.xmws.cn 组网图形 组网需求 RouterA的管理网口与用户侧主机HostA相连。要求通过BootROM菜单下载系统文件至RouterA完成系统升级。 操作步骤 1.在PC端启动FTP Server服务。 2.用串口线连接并通过Console口登录设备。 3.重启设…

Java内存模型与线程(3)

文章目录4. Java与线程4.1 线程的实现4.2 Java线程调度4.3 状态转换4. Java与线程 并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Jva里面谈论并发,大多数都与线程脱不开关系。既然我们这本书探讨的话题是Java虚拟机…

一个系列涨粉47w,小红书内容创意卷出新高度

前有双11,后有世界杯,11月注定是热闹的。图源新红_流量分析_趋势查询在此情况下, 小红书内又涌现出哪些黑马博主?有多少品牌打造出了爆品?什么样的种草玩法才能成功出圈?我们将全面分析11月榜单&#xff0c…

java面向对象最全入门笔记

Java面向对象 什么是面向对象编程? 面向:找、拿。 对象:东西。 面向对象编程:找或者拿东西过来编程。 设计对象并使用 设计类,创建对象并使用 类是什么? 类(设计图)&#xff1…

Vue Cli安装和node-sass、less-loader、sass-loader安装

一、Vue Cli安装 CLI全程是Command-Line Interface,命令行界面,俗称脚手架,可以帮我们快速的创建vue项 Vue Cli的使用必须依赖node环境和webpack 管理员方式打开cmd进行安装,安装命令: npm i -g vue/cli 查看版本…

鸢尾花数据种类预测、分析与处理、scikit-learn数据集使用、seaborn作图及数据集的划分

一、鸢尾花种类预测 Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理,Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集 鸢尾花数据集包含了 4个属性(特征值) Sepal.Length(花萼长度&#…

Linux学习-69-Linux系统启动管理

16 Linux系统启动管理 Linux 系统的启动是不需要人为参与和控制的,只要选择开机,系统就会按照设定好的方式进行启动。不过,了解系统的启动有助于我们在系统出现问题时能够快速地修复 Linux 系统。在 CentOS 6.x 中,系统的启动过程…

NoSQLBooster for MongoDB 7.1.X

最智能的 MongoDB IDE NoSQLBooster 是 MongoDB v2.6-6.0 的跨平台 GUI 工具,它提供了内置的 MongoDB 脚本调试器MongoDB 脚本调试器、全面的服务器监控工具、链接流畅查询、SQL 查询、查询代码生成器、任务调度、ES2020 支持和高级智能感知体验。 嵌入式 MongoDB 外…

网络面试-0x17如何立即诶OSI模型和TCP/IP协议

OSI(Open System Interconnect) 开放式通信系统互连参考模型。 每一层实现各自的功能和协议,并完成与相邻层的接口通信。即每一层扮演固定的角色,互不打扰。 应用层 ⑦ 作用:通过应用程序间的交互来完成特定的网络应用。 定义了应用程序之间…

【ONE·R || R与C++混合编程简单介绍 】

总言 课堂演讲:R语言与CPP混合编程课后学习汇报。    文章目录总言1、汇报目的2、RCPP2.1、简单介绍:2.2、简单使用演示:2.1.1、Rcpp包与RTools2.2.2、上手尝试1.0:一个hello world小程序。2.2.3、上手尝试2.0&#…

STC 51单片机57——矩阵键盘 基本原理演示

51单片机 矩阵键盘 基本原理演示 #include "reg51.h" sbit P11P1^1; sbit P14P1^4; sbit P20P2^0; sbit P21P2^1; void main(void) { P111;// Hight P140; //Low if(P111) P200; else P210; while(1); }

刷爆力扣之较大分组的位置

刷爆力扣之较大分组的位置 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 工作原因拖更些时日,今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照…

Java项目:SSM农业信息管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能: 管理员登陆,用户管理,新闻管理,留言列表查看等功能。 用户角色包含以下功能: 查看所有新闻,市…