问题标签 [openj9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
523 浏览

kubernetes - 使用 AdoptOpenJDK OpenJ9 在 Kubernetes 上拒绝 JMX 连接

我的团队正在尝试将我们的微服务迁移到 openj9,它们在 kubernetes 上运行。但是,我们在 JMX 的配置上遇到了问题。(openjdk8-openj9) 当我们尝试与 jvisualvm 的连接(以及与 Kubernetes 的端口转发)时,连接被拒绝。除了从 Hotspot 切换到 OpenJ9 之外,我们没有更改配置。

错误 :

我们使用的 java 选项:

我们使用的是最后一个采用openjdk/openjdk8-openj9 docker 镜像。你有什么想法?

谢谢 !

问候。

0 投票
1 回答
496 浏览

dockerfile - 具有类数据共享的预热 Java Docker 映像

我想使用 OpenJ9 的类数据共享功能创建一个在 Java 服务上运行的 docker 映像,以提高启动性能。我想在使用多阶段 docker build 构建图像时创建类缓存。我在网上看到了一些关于预加热这样的 docker 图像的提法

https://github.com/barecode/adopt-openj9-spring-boot/blob/master/Dockerfile.openj9.warmed

但是,我无法在这里重新创建它是我的 Dockerfile

我的问题是当我跑步时

然后期望缓存文件保存在 /hi 上,该文件不存在。

任何帮助将不胜感激。谢谢。

0 投票
2 回答
1588 浏览

java - java 14 nullpointerexception 没有详细信息

Java 14 有许多新特性。其中之一是在 NullPointerException 中显示详细消息。我安装了 Java 14 并尝试在类下编译和运行,但我没有收到任何详细消息。我错过了什么吗?请帮忙。

我将建议的 -XX:+ShowCodeDetailsInExceptionMessages 标志传递给 java,但没有详细消息。请帮忙。

0 投票
1 回答
335 浏览

java - SpringBoot openJ9 Kubernetes Crash InterpreterEmulator.cpp:208

我最近随机遇到这个崩溃,我不知道如何调试它。谁能指出我正确的方向。我用过的工具有,
Spring Boot 2 + Kubernetes + 采用 openj9 jdk13

0 投票
1 回答
325 浏览

java - OpenJ9 (JDK14) 上的休眠 XML 配置

我正在尝试在 OpenJ9 (JDK14) 上加载 Hibernate XML 配置,但由于 JAXB 不再是 JDK 的一部分,我收到此错误:

我试图遵循一些答案:How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9但似乎没有人在 OpenJ9 上工作,并且在尝试包含我的任何依赖项时收到以下错误:

0 投票
0 回答
205 浏览

java - 有没有办法减少 JVM 的堆外开销?

我们同时使用 HotSpot 和 OpenJ9 进行了测试,看起来即使在加载单个类之前,它们也会产生大约 40MB 以上的堆外内存开销(在 JConsole 中检查)。

在此处输入图像描述

有没有办法减少这种开销?

显然我试图限制所有不同的领域: -Xms10m -Xmx10m -XX:MaxMetaspaceSize=10m

0 投票
1 回答
216 浏览

java - 非标准 Java 安装错误地报告了默认语言环境

使用已安装的JDK版本时,默认系统语言环境报告正确,但是当我使用时adoptopenjdk-11 tar.gz,它总是报告为en_US

下面是一个 Homebrew 安装的例子adoptopenjdk11vs 下载和解压的。

此处显示了每个 JDK 的版本。

我猜 macOS 有一些魔力,因为符号链接到的 Java 二进制文件/usr/bin/java始终存在,无论是否安装了 Java。

Hotspot (Oracle) 版本工作正常,但 openj9 (IBM) 版本不工作。

我需要将 JRE 与应用程序捆绑在安装程序中,并将其安装到非标准位置。

如何在下载的 openj9 tar 中获取默认语言环境以镜像当前系统的语言环境?

0 投票
1 回答
93 浏览

java - Java RMI 不能以传统方式与 AdoptJDK Openj9 JVM 一起工作吗?

我正在尝试使用 AdoptOpenJDK 的 OpenJ9 JVM 启动一个简单的 RMI 服务器,但是程序退出时没有错误/异常,并且 RMI 服务器没有启动。完全相同的程序适用于 AdoptOpenJDK 的 HotSpot JVM 和其他 oracle 变体。

示例代码:

0 投票
1 回答
265 浏览

jboss - 采用 openjdk 8 和 openj9 + visualvm + jboss eap 7.1 - cpu 使用率 100%

我正在使用带有openj9的adoptopenjdk 8(以前使用热点)测试jboss eap 7.1。我使用 visualvm 通过 jmx 对其进行监控,并注意到报告的 cpu 使用率始终接近 100%(见附件)。当我在主机上使用 htop 时,我发现 cpu 使用率远非那个数字。切换回热点后,报告的 cpu 使用率再次准确反映了 htop 报告的内容。但是,如果我使用 jconsole + openj9,则报告的 cpu 使用情况也是准确的。

有谁知道这种不准确对于openj9 + visualvm监控是否司空见惯?谢谢!

在此处输入图像描述

0 投票
1 回答
187 浏览

openj9 - 不同应用程序之间的 OpenJ9 类共享

使用 OpenJ9 的类共享功能来减少不同应用程序的单个实例的内存使用是否可能/合理?

更多细节:

似乎该功能旨在减少在同一台机器(例如 Kubernetes 节点)上运行同一应用程序的多个实例时的内存使用量。那是对的吗?

我想要实现的是,巧合地在同一个 Kubernetes 节点上启动的应用程序使用相同的缓存。由于应用程序使用几乎相同的库,因此应该有大量可以共享的数据。但是,我所经历的是缓存具有很高比例的陈旧类,即使我使用 1GB 的软限制和硬限制,缓存也会变得 100% 满。

具体来说,我尝试java -Xshareclasses:cacheDir=/openj9cache,groupAccess,name=somename,nonfatal,persistent,verbose -XX:SharedCacheHardLimit=1g -Xscmx1g <APP>在同一个 Kubernetes 节点上进行不同的部署。根据我运行的应用程序,我会看到如下缓存统计信息: