当前位置: 首页 > news >正文

Ubuntu与Rocky系统安装Java全指南

java 是一种广泛使用的编程语言,因其“一次编写,到处运行”的特性而受到开发者们的喜爱。无论你是要开发企业级应用、Android应用还是进行大数据处理,Java 都是不可或缺的工具之一。本文将详细介绍如何在 Ubuntu,Rocky 系统上安装 Java,并确保其正确配置以便顺利开展你的开发工作。

JDK

JDK 和 JRE
在这里插入图片描述

Java SE API:Java 基础类库开发接口
JRE:Java Runtime Environment缩写,指Java运行时环境,包含 JVM + Java核心类库
JDK:Java Development Kit,即 Java 语言的软件开发工具包,JDK协议基于JRL(JavaResearch License) 协议
在这里插入图片描述
在这里插入图片描述

JVM 的各种版本

参考链接: https://en.wikipedia.org/wiki/List_of_Java_virtual_machines https://en.wikipedia.org/wiki/Comparison_of_Java_virtual_machines

各个公司和组织基于标准规范,开发了不同的JVM版本

  • SUN HotSpot
  • IBM J9VM
  • BEA JRockit

JVM 市场份额
2018年12月,由 Snyk 和 The Java Magazine 联合推出发布的 2018 JVM 生态调查报告
在这里插入图片描述

Oracle JDK版本

在这里插入图片描述
在这里插入图片描述
JDK也就是常说的J2SE,在1999年,正式发布了Java第二代平台,发布了三个版本:
J2SE:标准版,适用于桌面平台
J2EE:企业版,java在企业级开发所有规范的总和,共有13个大的规范,Servlet、Jsp都包含在 JavaEE规范中
J2ME:微型版,适用于移动、无线、机顶盒等设备环境
2005年,Java的版本又更名为JavaSE、JavaEE、JavaME
JDK 版本使用情况
数据来源
https://www.baeldung.com/java-in-2019
在这里插入图片描述
收费
从2019年1月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费,确切的说是201/202 之后的版本。如果你用 Java 开发的功能如果是用作商业用途的,如果还不想花钱购买的话,能免费使用的最新版本是201/202。当然如果是个人客户端或者个人开发者可以免费试用 Oracle JDK 所有的版本
发版方式
在 JDK 9 发布之前,Oracle 的发版策略是以特性驱动的,只有重大的特性改变才会发布大版本,比如 JDK 7 到 JDK 8,中间会发多个更新版本。而从 JDK 9 开始变为以时间驱动的方式。发布周期为6个月一个大版本,比如 JDK 9 到 JDK 10,3个月一次补丁版,3年一个 LTS(长期支持版本)

OpenJDK

openJDK 介绍
在这里插入图片描述

OpenJDK是Sun公司采用GPL v2协议发布的JDK开源版本,于2009年正式发布
在这里插入图片描述
官方网站:https://openjdk.java.net/projects/jdk6/
OpenJDK 7是基于JDK7的beta版开发,但为了也将Java SE 6开源,从OpenJDK7的b20构建反向分支开发,从中剥离了不符合Java SE 6规范的代码,发布OpenJDK 6。所以OpenJDK6和JDK6没什么关系,只是 API兼容而已
OpenJDK使用GPL v2可以用于商业用途。目前由红帽维护。OpenJDK也有在其基础上的众多发行版,比如阿里的Dragonwell。相对来说,Oracle jDK具有更好的响应能力和JVM性能,更加稳定

安装 openjdk

在 Rocky 中,可以使用 yum 仓库安装 openjdk

[root@rocky9 ~]# yum list *jdk*
Last metadata expiration check: 2:39:46 ago on Thu 27 Mar 2025 06:55:01 PM CST.
Available Packages
ant-openjdk11.noarch                                                        1.10.9-11.el9_5                                             appstream
ant-openjdk17.noarch                                                        1.10.9-11.el9_5                                             appstream
ant-openjdk21.noarch                                                        1.10.9-11.el9_5                                             appstream
ant-openjdk8.noarch                                                         1.10.9-11.el9_5                                             appstream
copy-jdk-configs.noarch                                                     4.0-3.el9                                                   appstream
idm-ldapjdk.noarch                                                          5.5.0-1.el9                                                 appstream
java-1.8.0-openjdk.x86_64                                                   1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-demo.x86_64                                              1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-devel.x86_64                                             1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-headless.x86_64                                          1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-javadoc.noarch                                           1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-javadoc-zip.noarch                                       1:1.8.0.442.b06-2.el9                                       appstream
java-1.8.0-openjdk-src.x86_64                                               1:1.8.0.442.b06-2.el9                                       appstream
java-11-openjdk.x86_64                                                      1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-demo.x86_64                                                 1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-devel.x86_64                                                1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-headless.x86_64                                             1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-javadoc.x86_64                                              1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-javadoc-zip.x86_64                                          1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-jmods.x86_64                                                1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-src.x86_64                                                  1:11.0.25.0.9-3.el9                                         appstream
java-11-openjdk-static-libs.x86_64                                          1:11.0.25.0.9-3.el9                                         appstream
java-17-open
http://www.lryc.cn/news/618887.html

相关文章:

  • C# 基于halcon的视觉工作流-章29-边缘提取-亚像素
  • 深入理解数据库架构:从原理到实践的完整指南
  • 力扣47:全排列Ⅱ
  • ffmpeg,ffplay, vlc,rtsp-simple-server,推拉流命令使用方法,及测试(二)
  • Linux内核编译ARM架构 linux-6.16
  • 深度贴:前端网络基础及进阶(3)
  • archlinux中VLC无法播放视频的解决办法
  • Linux TC流控实现机制
  • MySQL——MySQL引擎层BufferPool工作过程原理
  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • Tricentis Tosca 2025.1 LTS 系统要求
  • Java 中 Set 接口详解:知识点与注意事项
  • Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径
  • Javase 之 字符串String类
  • Python 多进程及进程间通信
  • C++实现LINGO模型处理程序
  • 杰里常用功能API
  • Navicat更改MySql表名后IDEA项目启动会找原来的表
  • 腾讯codebuddy.ai 安装实测【从零开始开发在线五子棋游戏:完整开发记录】
  • 服务降级方式
  • 2025年最新原创多目标算法:多目标酶作用优化算法(MOEAO)求解MaF1-MaF15及工程应用---盘式制动器设计,提供完整MATLAB代码
  • 拖动式看板工具TOP6:2025最新评测
  • 疯狂星期四文案网第37天运营日记
  • 看懂 Makefile 第一课:基础
  • 企业培训笔记:宠物信息管理--实现宠物信息的添加
  • c#,vb.net全局多线程锁,可以在任意模块或类中使用,但尽量用多个锁提高效率
  • 行业分享丨SimSolid 在汽车零部件开发中应用的可行性调研及实践
  • 基于Hadoop的汽车价格预测分析及评论情感分析可视化系统
  • 海信IP108H(53U1M)_S905L-B主控-无线SV6051P/8822CS(通刷咪咕mg100_mg101)线刷固件包
  • grpc浅入门