问题标签 [jrockit]
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.
jvm - 不同的jvm之间是否兼容?
我有一个关于 weblogic 的问题:我有一个在 jdk 上运行的 weblogic 实例,并且我在此服务器上部署了应用程序(.war 文件)。如果我更改启动参数并告诉它在 jrockit 上运行,部署在其中的应用程序(.war 文件)是否兼容?还是我必须保留原始 jdk?。非常感谢。
java - 调用 JNI_CreateJavaVM 会使程序崩溃
我有一个 C DLL,它使用 JNI 代理对执行实际举重的底层 java 程序的任何调用。我正在动态加载 jrockit jvm.dll 以进行函数调用。
供应商 A 有一个 C# DLL,它实际上调用了我的 C DLL,而另一个供应商 B 有一个 C# 程序,它调用了供应商 A 的 C# DLL。
使用供应商 A 的 C# DLL 进行测试时没有任何问题,但在与供应商 B 的 C# 程序集成后,我通过 JNI_CreateJavaVM 初始化 JVM 的调用会导致整个程序崩溃。
任何帮助,将不胜感激。
我收到的错误消息是:
编辑 1:好的,我已经反汇编了 jvm.dll,它调用 TlsAlloc,然后调用 TLSSet 并到达显示错误消息的代码,第二个图像中 je SHORT 04755D4B 之前的 cmp esi、edx 不能相等。
第一个图像中调用 04755DD0 的内容在第二个图像中。
有谁知道之前的计算(操作 esi 和 edx 的 1)是做什么的?
编辑 2:(响应 PT)我没有设置任何特定的线程系统,所以我想它使用的是默认的线程系统,根据这里:http ://docs.oracle.com/cd/E13222_01/ wls/docs81b/jrockit/threads.html
你的猜测很可能是正确的,在查看反汇编时,我发现代码逻辑是这样的,它首先调用 TlsAlloc 然后调用 TlsSetValue 将 TlsAlloc 返回的索引处的线程本地存储设置为常量幻数4711 之后它使用 eip 从线程信息块的开头循环查找值 4711,一旦找到它,代码然后再次调用 TlsSetValue 将值设置为 1147,此时它检查 eip 是否实际指向通过确保将 [eip] 设置为 1147 来获取线程本地存储。
供应商 B 在他们的程序中使用 C#,因此,他们将使用 CLR 虚拟机。一旦它到达供应商 B 调用我的 DLL 的点,他们将已经初始化 WPF prism 和 mef 框架,将所有接口模块加载到各自的位置,初始化所有单例(WPF prism 术语中的导出)模型并初始化 MS 工作流。但是,当我将初始化代码移至前几行时,jvm 初始化成功(这不是初始化 jvm 的正确位置,我们尚未测试其余代码是否有效)。
代码仅在 TlsSetValue 失败时分支到错误,是否有任何原因导致 TlsSetValue 失败?我应该在供应商 B 的代码中寻找可能导致问题的哪些内容?
java - JRockit : -XX:+UnlockCommercialFeatures
我想知道所有 JRockit 内存参数列表。
JRocket 是否有类似“-XX:+UnlockCommercialFeatures”的东西。任何想法
weblogic - JRockit 卡住了
我们一直遇到 JRockit jvm 卡在这个堆栈上的问题:
试图分配内存似乎被卡住了。根据我们的监控工具,堆使用率在 14% 左右,而在服务器卡住之前的时间不到 20%。
这是java版本:
这些是我们正在使用的 JVM 设置
任何想法可能导致此问题?
garbage-collection - JRockit 类加载器没有被垃圾收集
我创建了一个自定义类加载器的实例,并且我想检查一旦没有更多对它的引用,它是否会被垃圾收集。这个类加载器加载实例化对象的自定义类。没有对这些对象或类加载器内的类的外部引用。此外,当我想测试垃圾收集时,没有更多对类加载器的引用。
为了测试类加载器是否被垃圾回收,我使用了对它的弱引用。
现在,在HotSpot 1.7上,一切正常,而在jrockit_160_24_D1.1.2-4上却不行(当我调用get()
弱引用时,我取回了对象)。
有人知道为什么会这样吗?
java - 当我们设置 Xmx 和 Xms 大小相等时会发生什么
当我们将 Xms 和 Xmx 的值设置为相等时,对 FullGC 或 HotSpot 中年轻/终身代的分配有什么影响。
它对 JRockit 有什么影响吗?
java - 任何与 JRockit 的 Weaving/AOP API 等效的 OpenJDK?
我对JRockit 的内置编织/AOP 支持印象深刻。OpenJDK 上的 AOP 编织是否有任何类似易于使用的支持?
我尝试检测的代码通常是通过 Maven 加载的,因此连接到类加载器以例如安装编织类加载器可能很困难。基于 JMTI 的解决方案可能实用,也可能不实用。
tomcat - Two tomcat instances with different multicast addresses are grouped when using Jrockit
I am trying to setup tomcat cluster upon Jrockit 1.6.0_45-b06, and faced with a problem. It seems that Jrockit does not use Multicast address to group, I have setup 2 instances of tomcat in the same os, and give them difference multicast address, one is 228.0.0.3, the other is 228.0.0.4. But they are grouped in the same cluster.
it will act as expected only if set different ports to them.
Is it a bug about Jrockit?
casting - 在 JRockit 中将 int 转换为双重问题
我有一个在 JRockit 实例上运行的 bea weblogic 8.1 sp5 服务器,具有以下 java 版本:
*java -version java version "1.4.2_10" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03) BEA JRockit(R) (build R26.3.0-32-58710-1.4.2_10-20060308- 2022-linux-ia64,)*
执行以下代码时遇到问题:
int 债务 = 27003 ; //金额以美分为单位;System.out.println(((双) 债务18 / 100)); //欧元金额
打印结果为270.03000000000003
我确信这是一个虚拟机错误,因为它可以在这个特定的 jrockit 机器上观察到。
您过去是否碰巧遇到过类似的问题?
您能否告诉我一种将所需值传递给双变量的不易出错的方法,最好使用标准的 java 库?
weblogic - 如何在 JRockit R28 上实现 ExitOnOutOfMemoryError 参数?
我的 WebLogic 服务器使用 JRockit JVM R28。我们需要将 WebLogic JVM 配置为在 OutOfMemoryError 发生时自动关闭/杀死/退出。
一个名为“ExitOnOutOfMemory”的 JRockit JVM 参数将让我们完成此操作。但是,Oracle 文档提供了不正确且相互矛盾的信息。
1.) http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionXX.html说只需将“ -XXexitOnOutOfMemory ”放入启动脚本。但是,JRockit 不“识别”这个参数。
2.) http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionxx.htm#BABCDAIB说将“ -XX:+ExitOnOutOfMemoryError ”放入启动脚本。但是 JRockit 也不识别这种配置。我相信他们错误地从 Hotspot 文档中复制了这个。
我如何实现这个参数?