问题标签 [j9]

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 回答
1555 浏览

java - Xerces 在 SUN JRE v1.5 和 IBM J9 v1.5 上的行为不同

我正在尝试使用NekoHTML解析一些 HTML 。

问题是当下面的代码片段在它上面执行时SUN JDK 1.5.0_01它工作正常(这是当我使用 eclipse 和 sun jre 时)。但是当同样的事情被执行时,IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20070323 (JIT enabled)它就不起作用了(这是我使用 IBM RAD 进行开发的时候)。

通过正常工作,我的意思是我得到了一个可以进一步处理的“td”元素列表。在 J9 的情况下,我没有进入for循环。

我正在使用最新版本的 NekoHTML(以及捆绑的 Xerces jars)。doc上面代码中的 是类型(org.w3.dom.Document使用的运行时类是org.apache.html.dom.HTMLDocumentImpl

IBM J9 详细信息如下:

感谢任何想法、建议或解决方法。谢谢。

0 投票
3 回答
23497 浏览

java - 下载 IBM J9 JDK

我对 IBM J9 JDK/JRE 有以下问题。

  1. 有谁知道我可以下载最新的 J9 JDK 的位置吗?我用谷歌搜索并找不到位置。
  2. IBM J9 JDK 和 Apache Harmony 项目之间有什么关系?

谢谢你。

0 投票
2 回答
1630 浏览

java - J2ME 上的 JDBC 支持

目前我正在尝试在 Windows Mobile 6.1 设备上运行现有的 java 应用程序。Java 应用程序是为服务器端开发的,并使用 JDBC。我的问题是 Java 应用程序使用了 J9 运行时或任何 CDLC/CDC 实现都不支持的 java.sql.DriverManager。

经过大量研究后,似乎没有标准的方法可以做到这一点。JSR 169 也不支持此类。

所以,我想知道你们中是否有人有类似的问题,以及是否必须提到任何适当的软件堆栈,这些软件堆栈基本上支持移动设备上的 java.sql.* 包。似乎规范不支持这一点,唯一的方法基本上就是破解它......

提前致谢

0 投票
2 回答
1505 浏览

java - 将 JNA 与 IBM J9 JVM 一起使用

将 JNA 与 J9 一起使用的第一个困难是 J9 JVM 不包含 java.awt 包,并且 Native 类从该包中导入了一些类。这很容易通过下载 JNA 源代码、删除这些导入及其依赖方法(无论如何我都没有使用)并构建一个新的 JNA jar 来克服。

这是一个简单的测试程序:

更正 java.awt 问题后,我收到错误:

“不兼容的 JNI 版本”是什么意思?有没有人让 J9 和 JNA 打得很好?

更新:我认为 JNA 在尝试加载 java.nio.Buffer 类时抑制了以下 NoClassDefFoundError ,因为 J9 显然不包含 NIO 包:

0 投票
3 回答
3549 浏览

java - 没有对象数量或大小增加的内存泄漏

在 IBM iSeries 系统上,我有一个 Java 程序正在运行 - 一个带有 Web 服务器组件的应用程序服务器,所有这些都是内部开发的。在 32 位或 64 位 J9 JVM(IBM Technology for Java)上运行时,我有内存泄漏的症状。

请注意,在 iSeries 经典 JVM、多个 Sun/Oracle JVM 和 Linux JVM 上运行该软件不会出现任何问题。哎呀,当我在我的网站上工作时,我经常让相同的软件在我妻子的入门级笔记本电脑上运行数周——我可以向你保证,如果它泄漏了内存,它会在那个东西上被注意到。

如果我只是让一个普通的系统闲置,没有配置应用程序(基本上只有消息传递系统和 Web 服务器),堆只会继续缓慢增长,导致随着时间的推移分配更多内存,每个 GC 周期不会相当收集到以前的水平。对于没有问题的 JVM,该模式完全相同,除了那些 GC 扫描总是将堆减少到其先前的 GC 级别。

在此处输入图像描述

但是,如果我在稳定之后在启动时提取 JVM 系统转储,并且在分配的堆显着增长后进行后续转储,则差异比较表明运行一周后的可访问对象比启动时更多。最近的一个,在一周后显示加载了 6 个附加类和一些与之明显相关的对象。对所有活体的彻底审查没有显示出任何出乎我意料的事情。

我已经尝试过优化吞吐量和分代并发垃圾收集器。

所以根据作业的堆大小,我们似乎在泄漏,根据堆转储,没有任何泄漏。

没有调用任何 JNI 方法(除了作为核心 JVM 的一部分运行的本机代码),而且肯定是堆在增长 - 我可以在 IBM WRKJVMJOB 信息中清楚地看到这一点,并在我的控制台中使用 JMX bean 进行报告日志文件。

到目前为止,我无法使用 JVisualVM 等 JMX 工具连接到活动 JVM,因为尽管在正确配置时会创建侦听套接字,但连接被拒绝,显然是在协议级别(TCP/IP 堆栈显示已接受的连接,但JVM 反弹它)。

我很困惑,不知道下一步该去哪里。

编辑:只是为了澄清;这些结果都是使用未检测的 JVM,因为我无法通过 JMX 访问该 JVM(我们正在与 IBM 合作)。

编辑 2011-11-16 19:27:我能够提取超过 1823 个 GC 周期的 GC 活动报告,其中包括 Soft/Weak/PhantomReference 计数的特定计数;这些数字没有出现失控增长的迹象。然而,小对象永久空间有显着增长(大对象永久空间是空的)。它从 9M 增长到 36M。

0 投票
1 回答
785 浏览

java - 使用 Attach API 附加到 J9VM

使用 Java Attach API 附加到 IBM J9VM 的正确方法是什么?

我正在尝试以下操作(在我的类路径中有 JDK 的 tools.jar):

我也尝试在不使用反射的情况下这样做,但我不断得到

有谁知道这样做的正确方法是什么?

0 投票
2 回答
1321 浏览

java - Java - 读取现有进程的输出流

我需要读取在 IBM j9(模拟器 JVM 到 windows mobile)上运行的进程的输出。我试过这个:

但它不起作用,因为它返回了 的新实例j9.exe,而不是现有进程。

我需要从 j9console (现有进程的)获取所有记录到 System.out 的消息。我该怎么做呢?

0 投票
1 回答
581 浏览

jvm - IBM J9 JVM 中是否默认启用环境变量 IBM_HEAPDUMP?

我想知道IBM_HEAPDUMPIBM J9 中是否默认启用了环境变量?我在网上搜了一下,有人说是,有人说不是。让我假设它是否默认处于活动状态,这意味着基于信号的堆转储已启用。JVM 会捕获所有预定义的信号并相应地生成 heapdump。但是,如果像上面那样,为什么我们仍然需要配置 with -Xdump:what?就像链接描述的那样http://www-304.ibm.com/support/docview.wss?uid=swg21246238。另一个问题是这里的功能是否IBM_HEAPDUMP重叠-Xdump:what?或者我对这两个完全理解错误。

提前致谢

0 投票
1 回答
793 浏览

java - 在 Eclipse 中安装 J9 JRE

在网上搜索有关如何在 Eclipse 中将 J9 用作 JRE 的教程,我发现了一些网站和论坛,如下所示:

http://www.javalobby.org/java/forums/t98578.html

http://www.ibm.com/developerworks/lotus/library/sametime-eclipse-pt1/

解决方案是向 Eclipse 添加一个 j9 启动器插件 - 根据教程 - 可以从以下链接下载: http: //dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ercp/org。 eclipse.jdt.launching.j9/org.eclipse.jdt.launching.j9-plugin.zip?root=DSDP_Project&view=log

问题是这个链接已经失效,我在其他任何地方都找不到这个文件。谁能告诉我从哪里得到这个文件?

0 投票
2 回答
5111 浏览

java - 使用 IBM JVM (AIX) 的 Java UTF-8 文件名

我无法理解 IBM JVMjava.io.File在 JFS2 文件系统上处理 AIX 上的 UTF-8 的方式。我怀疑我忽略了一个系统属性,但我还没有找到它。

假设我有一个名为othér(其中é是 U+00E9 或 UTF-8 bytes 0xc3 0xa9)的文件。文件名以 UTF-8 编码,由 C 程序创建:

如果我在 Java 中创建一个代表文件名的 Unicode 字符串,它将无法打开它。此外,如果我File.listFiles()在 Java 中使用,它坚持将其视为 Latin1 字符串。例如:

这个程序的结果是:

因此,我的文件名似乎被视为 Latin1。我尝试将file.encoding系统属性设置为UTF8client.encoding.override系统属性设置UTF-8为无济于事。我的LANGLC_ALL设置是en_US.UTF-8

SMIT 配置的我系统的“主要语言环境”是“ISO8859-1”。我真的不知道此设置的全部影响,但我无法更改它。我怀疑如果我可以将其更改为“UTF8 英语”,那么这可能会解决问题,但由于 JFS2 以 Unicode 存储文件名,而 Java 在内部以 Unicode 运行,我觉得应该有一个更通用的解决方案来解决这个问题。

无论我的 SMIT 设置如何,我都可以设置 J9 的另一个系统属性来强制它使用 UTF-8 文件名吗?

AIX 版本是 5.2,Java 版本是 IBM J9 (1.5.0),文件系统是 JFS2:

更新:这仍然发生在 Java6 上: