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

How to install OpenJ9 JDK 17 on Ubuntu 24.04

概述

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.dtcms.com/a/99522.html

相关文章:

  • 《K230 从熟悉到...》矩形检测
  • 机器学习的一百个概念(2)Tomek 链接
  • 人工智能赋能医疗:开启智慧医疗新时代
  • Charles 抓包配置保姆教程(PC、IOS、Android)
  • 《强化学习基础概念:四大模型与两大损失》
  • 环境爬坑,切换python版本,让 jupyter 支持切换不同python版本内核
  • 家电产品智能屏方案,ESP32系列助力智能升级,物联网通信交互应用
  • CubeMx ——新建工程
  • python入门(一)个人笔记
  • 【二刷代码随想录】螺旋矩阵求解方法、推荐习题
  • 表格图表切换,图表无法展示问题复盘
  • 工作记录 2017-03-13
  • Python CSV 数据分析:问题排查与解决全记录
  • Windows学习笔记(3)关于事件日志
  • linux的文件
  • Visual Basic语言的折线图
  • Ubuntu 系统中,每日健康检查
  • vulnhub-Node1
  • C#:第一性原理拆解字段(fields)
  • ElasticSearch 分词器
  • kill子进程后再wait可以吗?
  • java性能优化实例
  • 如何估算和优化 Gas
  • 学习通-操作系统第五版费翔林-习题-标答
  • 【AI学习】深度学习,人工神经网络
  • 破解美业数字化迷思:中小门店的智慧转型之路
  • 代码随想录day31 贪心part05
  • 蓝桥杯真题------R格式(高精度乘法,高精度加法)
  • Flutter 开发环境配置--宇宙级教学!
  • 【通道注意力机制】【SENet】Squeeze-and-Excitation Networks