(ARM-Linux) ORACLE JDK 22 的下载安装及环境变量的配置

news2024/9/24 9:28:11

目录

获取JDK

安装JDK

配置JAVA环境变量

其他补充:JDK 22的新特征

1. 语法

2. 库

3. 性能

4. 工具


在今年的3月份,ORACLE 更新了的JDK 发行版 JDK 22,作为了一位ORACLE Primavera系列产品的研究者,其实对JDK的迭代完全不感冒,但考虑到近期ORACLE产品安全性(如系统漏洞etc)以及技术特点的敏感性,或多或少也会影响其企业产品的安全部署,由此,这里做过简要介绍当做尝尝鲜,后续如有必要我也可以基于该JDK部署诸如WEBLOGIC及P6等应用并评估其影响。

获取JDK

▼ Oracle JDK 的获取,可以通过如下指定的地址中下载,过程中无需登录ORACLE账号

Java Downloads | Oracle

 需注意的是,我目前使用的是平台是mac m1pro下的linux 虚拟机,因此用的是ARM版安装包,本文也是基于此前提进行介绍。如果你的电脑/服务器使用的是intel或者amd芯片,请选择x84架构类型。

安装JDK

完成上一步骤JDK的下载后,将jdk rpm文件通过fpt工具存放至Linux相应的目录下(我这里采用的是CentOS7,当然也是aarch版),如下通过ivh命令进行安装

[root@centos7s1 mnt]# rpm -ivh jdk-22_linux-aarch64_bin.rpm
warning: jdk-22_linux-aarch64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-22-2000:22.0.1-8             ################################# [100%]

再查询JAVA版本,可得到环境识别到的java版本号

[root@centos7s1 mnt]# java -version
java version "22.0.1" 2024-04-16
Java(TM) SE Runtime Environment (build 22.0.1+8-16)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)

配置JAVA环境变量

Linux的环境变量配置与Windows稍许不同,考虑到linux生产用服务器一般不具备图形界面,一般使用配置文件进行处理

Linux JDK默认安装在 /usr的java目录下,可以通过ftp进入到jdk 22的安装明细

复制如上的java目录完整路径,并配置到系统profile配置文件中,使用vi或vim进行编辑

[root@centos7s1 mnt]# vi /etc/profile

在profile文件的最后面添加如下信息 

export JAVA_HOME=/usr/lib/jvm/jdk-22-oracle-aarch64
export PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH

最后通过source 使得profile修改内容生效

[root@centos7s1 mnt]# source /etc/profile

 如此,便完成了JDK 22的下载,安装及配置工作

其他补充:JDK 22的新特征

1. 语法

1.1 语言预览

➜  super(...) 之前的语句(预览)

在 Java 编程语言的构造函数中,允许不引用正在创建的实例的语句出现在显式构造函数调用之前。 

➜ 流收集器(预览)

增强Stream API以支持自定义中间操作。这将允许流管道以现有内置中间操作不易实现的方式转换数据。

➜ 字符串模板(第二次预览)

使用字符串模板增强 Java 编程语言。字符串模板通过将文字文本与嵌入式表达式和模板处理器耦合来生成专门的结果,从而补充了 Java 现有的字符串文字和文本块。 

➜ 隐式声明的类和实例主要方法(第二预览版)

发展 Java 编程语言,以便学生可以编写他们的第一个程序,而无需了解为大型程序设计的语言功能。学生无需使用单独的语言方言,而是可以为单类程序编写简化的声明,然后随着技能的增长无缝扩展他们的程序以使用更高级的功能。 

2. 库

➜ 外部函数和内存 API

引入一个 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数(即 JVM 外部的代码),并通过安全地访问外部内存(即不由 JVM 管理的内存),API 使 Java 程序能够调用本机库并处理本机数据,而不会造成脆弱性和危险。 

 2.1 库预览和孵化器

➜ 类文件 API(预览版)

提供用于解析、生成和转换 Java 类文件的标准 API。 

➜ 结构化并发(第二预览版)

通过引入结构化并发 API 来简化并发编程。结构化并发将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消、提高可靠性并增强可观察性。

➜ 范围值(第二预览版)

引入作用域值,它允许与同一线程中的子帧以及子线程管理不可变数据的共享。作用域值比线程局部变量更容易推理,并且空间和时间成本更低,特别是与虚拟线程和结构化并发结合使用时。 

➜  Vector API(第七个孵化器)

引入 API 来表达向量计算,在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于同等标量计算的性能。

3. 性能

➜  G1 的区域固定

通过在 G1 中实现区域固定来减少延迟,以便在 Java 本机接口 (JNI) 关键区域期间无需禁用垃圾收集。

4. 工具

➜ 启动多文件源代码程序

增强java应用程序启动器,使其能够运行作为多个 Java 源代码文件提供的程序。这将使从小程序到大程序的过渡更加渐进,使开发人员能够选择是否以及何时配置构建工具。

以上详细官方介绍也可到如下地址中查阅:

JDK 22 Release Notes, Important Changes, and Information

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

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

相关文章

信创基础软件之操作系统

操作系统概述 操作系统是计算机系统软硬件资源的纽带。操作系统是连接硬件和数据库、中间件、应用软件的纽带,是承载各种信息设备和软件应用的重要基础软件。操作系统控制和管理整个计算机系统的硬件、软件资源,组织和调度计算机工作和资源,…

linux部署java1.8(java17)

两种方式: 方式一 1.输入查找命令: yum -y list java*2.输入安装命令: yum install -y java-1.8.0-openjdk.x86_643.测试是否已经安装: java -version方式二: 点击链接进入官网:https://www.oracle.com/…

五一反向旅游,景区“AI+视频监控”将持续助力旅游业发展

一、建设背景 每年五一劳动节出去旅游都是人挤人状态,这导致景区的体验感极差。今年“五一反向旅游”的话题冲上了热搜,好多人选择了五一之后再出去旅游,避开拥挤的人群,这个时候景区的监管力度和感知能力就更要跟上去&#xff0…

前端 | 经典代办框实现(喵喵大王ver)

文章目录 📚实现效果📚模块实现解析🐇html🐇css🐇javascript 📚实现效果 输入框输入,点击Submit按钮提交,下方显示 设置事项上限6条(按照条数设置限制,默认每…

go-mysql-transfer 同步数据到es

同步数据需要注意的事项 前提条件 1 要同步的mysql 表必须包含主键 2 mysql binlog 必须是row 模式 3 不支持程序运行过程中修改表结构 4 要赋予连接mysql 账号的权限 reload, replication super 权限 如果是root 权限则不需要 安装 go-mysql-transfer ​ git clone…

MySQL从入门到高级 --- 5.DQL基本操作

文章目录 第五章:5.基本操作 - DQL5.1 运算符逻辑运算符位运算符算术运算符 5.2 条件查询5.3 排序查询5.4聚合查询5.4.1 聚合查询-NULL值处理 5.5 分组查询 - group by5.5.1 条件筛选 - having5.6 分页查询 - limit5.7 INSERT INTO SELECT 语句5.8 练习5.9 正则表达…

服务器端优化-Redis内存划分和内存配置

6、服务器端优化-Redis内存划分和内存配置 当Redis内存不足时,可能导致Key频繁被删除、响应时间变长、QPS不稳定等问题。当内存使用率达到90%以上时就需要我们警惕,并快速定位到内存占用的原因。 有关碎片问题分析 Redis底层分配并不是这个key有多大&…

单体服务-微服务-分布式 [三兄弟的区别]

大家好,我是晓星航。今天为大家带来的是 单体服务-微服务-分布式 [三兄弟的区别] 相关的讲解!😊 文章目录 1.单体服务1.1单体服务架构的基本介绍1.2单体服务的优缺点 2.微服务2.1微服务架构的基本介绍2.2微服务架构的优缺点 3.分布式4.三兄弟…

OpenCV4.9去运动模糊滤镜(68)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9失焦去模糊滤镜(67) 下一篇:OpenCV如何通过梯度结构张量进行各向异性图像分割(69) 目标 在本教程中,您将学习: 运动模糊图像的 PSF 是多少如何恢复运动…

SQLI-labs-第十五关和第十六关

目录 知识点: 第十五关 1、判断注入点 2、判断当前数据库 3、判断表名 4、判断字段名 5、爆值 第十六关 1、判断注入点 知识点: POST方式的时间盲注 对应的函数利用,可参考SQLI-labs-第九关和第十关_sqllab第十关-CSDN博客 第十五…

Pycharm的安装配置

pycharm的安装配置 1.pycharm的安装 pycharm进入官网下载即可:官网。 想下载老版本的点这里。 pycharm分为专业版和社区版,专业版只能免费30天过了就需要💴,社区版是开源的,功能没有专业版全面但是也差不多够用。 …

智慧水务-水源监控管理系统

通过物联网结合在线传感器,如液位、水质和视频,每一个水库的水位和降雨量,以及每个水源井的水位,泵站状态,流量和网站远程图像监控,现场提供准确和及时的信息,以确保适当的蓄水水库的防洪安全。…

新篇章!沃飞长空成为同中信海直签约的唯一中国eVTOL企业

随着城市地面交通的愈发拥堵,人们逐渐把目光投向天空。打个“空中的士”上班的城市空中出行场景,受到越来越多方的期待,相应的,eVTOL(飞行汽车)行业的相关投资与合作也愈发火热。 4月30日,国内领先的eVTOL&#xff08…

FX110网:新西兰FMA针对潜在的快速致富骗局发出警报

如果某件事听起来好得令人难以置信,那么它通常就是假的。根据新西兰金融市场监管机构FMA的说法,这种久经考验的真实市场说法可能适用于 Equity Budget,该公司承诺每天高达 7% 的“不切实际的回报”。此外,它缺乏适当的监管&#x…

[LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp

[LitCTF 2023]Ping 尝试ping一下127.0.0.1成功了,但要查看根目录时提示只能输入IP 查看源代码,这段JavaScript代码定义了一个名为check_ip的函数,用于验证输入是否为有效的IPv4地址。并且使用正则表达式re来匹配IPv4地址的格式。 对于这种写…

python(简单制作注册登录系统)

制作一个注册登录模块 注册:将用户填入的账户和密码保存到一个文件(users.bin) 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那么登录成功,否则登录失败。 分析: 注册部分--主要涉及到的…

图搜索算法 - 深度优先搜索法(DFS)

图搜索算法 图搜索算法也可以叫图的遍历,指从图上任意一个顶点出发,访问图上的所有顶点,而且只能访问一次。这和上一节树的遍历功能类似。但由于图没有层级结构,也没有类似树的根结点那样的特殊顶点,因此相对要复杂一…

什么是模版方法模式,有哪些应用?

模板方法模式是一种行为设计模式,他的主要作用就是复用代码。在很多时候,我们的代码中可能会有-些公共的部分并且还有一些定制的部分,那么公共这部分就可以定义在一个父类中,然后将定制的部分实现在子类中。这样子类可以根据需要扩…

微信小程序如何使用svg矢量图标

微信小程序如何使用自定义SVG矢量图标 在微信小程序中,经常会用到小图标来装饰界面,我们常用的方法就是引用第三方的图标,但会存在收费或者找不到合适的图标,这时候我建议可以自行编写svg图标代码,就可以随心所欲的使…

JDK 17有可能代替 JDK 8 吗

不好说,去 Oracle 化是很多公司逐步推进的政策。 JVM 有 OpenJ9。很多公司可能会用 IBM 的版本。 JDK 这东西,能用就不会升级。 JDK 太基础了,决定了后面的很多 jar 的版本。 https://www.ossez.com/t/jdk-17-jdk-8/14102