How to install OpenJ9 JDK 17 on Ubuntu 24.04

news/2025/4/1 9:17:43/

概述

OpenJ9 是一款由 IBM 开发并开源的 Java 虚拟机(JVM),现由 ​Eclipse 基金会管理(名为 ​Eclipse OpenJ9)。它旨在提供高性能、低内存消耗和快速启动时间,特别适用于云原生和容器化环境。

关键特性

  • 低内存占用
    优化内存管理,减少堆外内存使用,适合资源受限场景(如微服务、Kubernetes)。

  • ​快速启动
    通过共享类缓存(Shared Classes Cache)和即时编译(JIT)优化,缩短应用启动时间。​

  • 灵活的垃圾回收(GC)​
    支持多种 GC 策略:

    • Gencon:分代收集,适合短期对象。
    • Balanced:针对大堆内存优化,减少暂停时间。
    • Metronome:实时应用的低延迟 GC。
  • AOT(提前编译)​
    将字节码预编译为本地代码,减少运行时开销。

  • 兼容性
    遵循 Java SE 标准,与 HotSpot JVM 兼容,无需修改代码即可切换。

历史背景

  • 源自 IBM 的 ​J9 VM​(用于 IBM Java 产品),2017 年开源并捐赠给 Eclipse 基金会。
  • 与 OpenJDK 结合,形成完整的 Java 运行时(如 ​AdoptOpenJDK 或 ​IBM Semeru Runtime)。

​使用场景

  • 云原生应用:容器化部署时节省内存。
  • Serverless 函数:快速启动提升冷启动性能。
  • ​长期运行服务:通过 GC 调优降低延迟。

这里,我们以OpenJ9 JDK 17为例 ,详细说明一下,如何在Ubuntu 24.04上安装该JDK。

下载

  • https://adoptium.net/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • jdk-21.0.6+7_openj9-0.49.0-JDK-February 13, 2025

在这里插入图片描述

  • jdk-17.0.14+7_openj9-0.49.0-JDK-February 13, 2025

在这里插入图片描述

  • jdk-11.0.26+4_openj9-0.49.0-JDK-February 13, 2025

在这里插入图片描述

安装

解压

mkdir -p ~/.local/java/openj9/jdk17
lwk@qwfys:~/Downloads/.tmp$ ll -h
total 228M
drwxrwxr-x 2 lwk lwk 4.0K Mar 29 02:08 ./
drwxrwxr-x 9 lwk lwk 4.0K Mar 29 02:08 ../
-rw-rw-r-- 1 lwk lwk 228M Mar 29 01:34 ibm-semeru-certified-jdk_x64_linux_17.0.14.0.tar.gz
lwk@qwfys:~/Downloads/.tmp$
tar -zxf ibm-semeru-certified-jdk_x64_linux_17.0.14.0.tar.gz
lwk@qwfys:~/Downloads/.tmp$ ll
total 233120
drwxrwxr-x 3 lwk lwk      4096 Mar 29 02:08 ./
drwxrwxr-x 9 lwk lwk      4096 Mar 29 02:08 ../
-rw-rw-r-- 1 lwk lwk 238698266 Mar 29 01:34 ibm-semeru-certified-jdk_x64_linux_17.0.14.0.tar.gz
drwxr-xr-x 9 lwk lwk      4096 Feb  6 02:27 jdk-17.0.14+7/
lwk@qwfys:~/Downloads/.tmp$
mv jdk-17.0.14+7 ~/.local/java/openj9/jdk17

配置

tee -a ~/.bashrc <<-'EOF'
export JAVA_HOME=/home/lwk/.local/java/openj9/jdk17
export PATH=${JAVA_HOME}/bin:$PATH
EOF

查看

lwk@qwfys:~$ java -version
java version "17.0.14" 2025-01-21
IBM Semeru Runtime Certified Edition 17.0.14.0 (build 17.0.14+7)
Eclipse OpenJ9 VM 17.0.14.0 (build openj9-0.49.0, JRE 17 Linux amd64-64-Bit Compressed References 20250121_885 (JIT enabled, AOT enabled)
OpenJ9   - 3c3d179854
OMR      - e49875871
JCL      - 675a4171160 based on jdk-17.0.14+7)
lwk@qwfys:~$ 

参考文献

  • Adoptium® Marketplace

http://www.ppmy.cn/news/1584368.html

相关文章

【vllm/瞎折腾】在内网wsl上安装vllm并尝试多节点部署(失败了)

目录 说在前面miniconda安装外网创建虚拟环境创建节点一的虚拟环境创建节点二的虚拟环境 内网配置环境配置节点一的环境配置节点二的环境 vllm多节点配置节点一(主节点)配置节点二配置 部署LLM(失败)补充&#xff1a;wsl2设置ulimit补充&#xff1a;wsl安装libcuda补充&#xf…

Java 集合中ArrayList与LinkedList的性能比较

一、需求&#xff1a; 头部插入‌&#xff1a;向列表头部插入10万个整数。‌随机访问‌&#xff1a;从列表中间位置连续获取1万个元素。‌头部删除‌&#xff1a;从列表头部连续删除10万个元素。 二、 使用ArrayList与LinkedList测试 //常量定义&#xff0c;用于测试操作的次数…

Open HarmonyOS 5.0 分布式软总线子系统 (DSoftBus) 详细设计与运行分析报告

1. HarmonyOS 5.0 与分布式软总线 (DSoftBus) 概述 1.1 HarmonyOS 5.0 架构概览 HarmonyOS 5.0&#xff0c;又称鸿蒙星河版&#xff0c;标志着操作系统架构的重大演进&#xff0c;其核心在于转向自研的微内核系统 1。此版本摒弃了先前版本中兼容安卓的双框架模式&#xff0c;全…

双非一本Java方向,学完感觉Java技术含量不高,考研换方向如何选择?

今天给大家分享的是一位粉丝的提问&#xff0c;双非一本Java方向&#xff0c;学完感觉Java技术含量不高&#xff0c;考研换方向如何选择&#xff1f; 接下来把粉丝的具体提问和我的回复分享给大家&#xff0c;希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问&#x…

【论文阅读】Proposal and Investigation of a Lite Time Sensitive Networking Solution

【论文阅读】 Title&#xff1a; Proposal and Investigation of a Lite Time Sensitive Networking Solution for the Support of Real Time Services in Space Launcher Networks Authors&#xff1a;TIZIANA FIORI , (Graduate Student Member, IEEE), FRANCESCO GIACINTO …

【踩坑】Mac mini m4 安装 jdk8 失败

也是遇到了&#xff0c;太难了&#xff01; 背景交代 因项目开发需要&#xff0c;在 mac mini m4 上安装 jdk8。 下好了软件安装包&#xff1a; jdk-8u202-macosx-x64.dmg 一路下一步安装&#xff0c;结果&#xff1a; 也尝试了 jre8 jre-8u202-macosx-x64.dmg&#xff0c;也…

考研408第七章:查找总结

考研408「查找」知识点全解析 一、顺序查找 1.1 定义与基本思想 顺序查找&#xff08;Sequential Search&#xff09;是一种线性查找算法&#xff0c;适用于无序或有序的线性表。其核心思想是从表的一端开始逐个比较元素&#xff0c;直到找到目标值或遍历完整个表。 时间复…

AI知识补全(八):多模态大模型是什么?

名人说&#xff1a;人生如逆旅&#xff0c;我亦是行人。 ——苏轼《临江仙送钱穆父》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知识补全&#xff08;七&#xff09;&#xff1a;AI Agent 智能…