jvm-hotspot 相关问题

HotSpot是Oracle和OpenJDK Java运行时环境使用的标准Java虚拟机。

为什么这个简单而小的 Java 代码在所有 Graal JVM 中运行速度快了 30 倍,但在任何 Oracle JVM 上却没有?

我没有将任何内容编译为本机,换句话说,我没有使用来自 GraalVM 的本机映像。我只是使用 GraalVM 运行相同的 Java 类(相同的 Java 字节码),然后运行相同的 Java ...

回答 1 投票 0

Hotspot JVM 中方法未编译的原因

有可用的标志提供已编译方法的日志信息。 有关未编译方法的信息以及未编译原因的信息在哪里? 能够...

回答 2 投票 0

Jvm JIT 和 Hotspot - 有什么区别

我听说过这些术语的使用,但我似乎无法找到它们在 Java 框架中的整体组合的顶层视图。我知道JIT是一种编译机制,但它是JVM的一部分吗? 什么是

回答 3 投票 0

javac 或 Hotspot 会自动添加“final”作为不变变量的优化吗?

共识似乎是将成员变量标记为final会带来性能优势,因为它们永远不需要从主内存重新加载。我的问题是,自动执行 javac 或 Hotspot...

回答 4 投票 0

当可选库不在类路径上,但相关代码未执行时,出现意外的“NoClassDefFoundError”

我正在尝试从 Java 代码使用 Google Closure 编译器,但希望它成为可选依赖项(在构建时存在,但在部署时可能不存在)。 我遇到的问题是...

回答 1 投票 0

哪里可以找到java.lang.invoke.VarHandle.compareAndSet()的实现?

在java.lang.invoke.VarHandle.java中,有一个compareAndSet方法,其定义如下: 公开最终母语 @MethodHandle.PolymorphicSignature @IntrinsicCandidate 布尔比较AndSet(对象...

回答 1 投票 0

如何理解Java热点错误

伙计们,当 JVM 崩溃时,它会写入错误日志 hs_err_pid.log。我想找出导致 JVM 崩溃的原因?如何理解这些日志,是否在任何地方都记录了该日志的排列方式...

回答 3 投票 0

jvm会释放内存吗?

我是一名Java开发人员,使用jdk 1.8。我的应用程序在 k8s 中运行。每个 Pod 的内存限制为 2.5g。当我的应用程序运行一段时间后,会发生full gc,但是内存不会

回答 1 投票 0

使用UseCompressedOops?

我在应用程序从 32GB 内存切换到 64GB 内存时发现了一些性能问题。 我有以下配置: java.arg.2=-Xms14g java.arg.3=-Xmx54g 从这里 压缩oops支持...

回答 1 投票 0

当通过 and 限制索引范围时,Hotspot 可以消除边界检查吗?

考虑以下函数: int foo(int[] 索引) { int[] 查找 = new int[256]; 填充(查找); // 填充值,未显示 整数总和=0; for (int i : 索引) { 求和 += 查找[i ...

回答 1 投票 0

Java 本机访问冲突不会触发 Windows jit 调试器

我在从 java exe 调用的 C++ 代码中创建了一个空取消引用。 AeDebug 注册表项是使用记事本设置的(用于测试)。但是,应用程序崩溃不会启动记事本。 附上windbg和fo...

回答 1 投票 0

OpenJDK跟踪ReentrantLock加锁与解锁

我正在使用解释器进行运行时检测。 我现在的重点是在任何 ReEntractLock lock() 和unlock() 函数之前添加一个函数调用。 作为参考,这是 Test.java: T 级...

回答 1 投票 0

为什么/tmp中-XX:+LogCompilation下会有多余的日志?

在 -XX:+LogCompilation -XX:LogFile=/path/to/file.log 下运行时记录热点编译时,日志会写入 /path/to/file.log ,这很好,但也不同(很多)更多)日志是

回答 1 投票 0

JDK原生内存使用场景下,为什么调用System.gc后还需要Thread.sleep?

经过研究Java17中System.gc的源码实现细节,我发现System.gc最终会触发两种gc类型: full gc (stop the world),当我们使用 SerialGC、Para...

回答 1 投票 0

HotSpot Serviceability Agent 的 iterateObjectsOfKlass() 太慢

我能够调用ObjectHeap.iterateObjectsOfKlass(在SA的帮助下)来获取属于某个类的所有对象。结果正是我所期望的,但性能却不是......

回答 2 投票 0

Java 性能差异

我正在尝试对一些 Java 代码进行基准测试,我注意到它的性能差异很大。 作为示例,我在下面的代码片段中对函数 copyElements 的性能进行了基准测试: 公共课...

回答 1 投票 0

为什么即使代码缓存已满,代码缓存也没有刷新?

当我们从 Java 17 切换到 Java 21 时,我们经历了编码缓存行为方式的变化。 我们有一些小型服务运行串行 GC 收集器(由 JVM 选择),通常是一个......

回答 1 投票 0

即使启用了 NMT,为什么 JCMD 也会抛出“未启用本机内存跟踪”消息?

我面临着这个奇怪的问题。我想跟踪 JVM 的本机内存使用情况。我按照 Oracle 文档中提供的说明进行操作,添加了 NMT 启用标志并回收了 Tomcat JVM。之后当我尝试...

回答 2 投票 0

Java 热点编译器是否会删除涉及已知最终状态的实例变量的死代码

在下面的代码中,很明显 baa 总是 false。热点编译器会发现这一点并删除 isBaa() 方法调用和包含的代码吗? 公共类 Foo() { 公共最终布尔值...

回答 1 投票 0

如何确定g1gc自动生成的区域大小?

文档说: 启动时,Java 虚拟机 (JVM) 设置区域大小 我如何确定启动时为 g1gc 区域选择的大小?如何获取通知......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.