问题标签 [jvm-hotspot]

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 投票
4 回答
2598 浏览

java - .NET 运行时与 Java 热点:.NET 落后一代了吗?

根据我在 .NET 和 Java 执行环境上收集到的信息,目前的情况如下:

抛开基准测试并无意升级圣战,这是否意味着 Java Hotspot VM 比 .Net 领先一代。Java VM 中采用的这些技术最终会进入 .NET 运行时吗?

0 投票
1 回答
351 浏览

java - 条件 JIT 编译

在Java中,我们可以像这样进行条件编译

编译器将看到 DO_CHECK 始终为 false 并删除整个 if 语句。但是,有时,尤其是在库代码中,我们不能使用条件编译,但我想知道,我们可以使用条件 JIT 编译吗?

如果我们用 doCheck = false 构造 LibraryClass,JIT 编译器(在 Hotspot 中)是否也会删除 if 语句?

更新:我刚刚意识到 JIT 编译很可能不是在实例级别完成的,所以我认为这行不通,但也许有一种静态方式?

0 投票
2 回答
137 浏览

java - 堆栈消耗的可变性来自哪里?

在运行这个问题的测试代码并摆弄 JVM 的线程堆栈大小时,我发现结果不一定是可重复的:程序有时会抛出堆栈大小的值java.lang.StackOverflowError,但有时不会

我的问题是:“是什么导致堆栈空间消耗的变化?”

另外,可以将中断的堆栈放在该程序的主线程上吗?对于其他 JVM 实现和/或操作系统,结果是否同样具有不确定性?

测试代码

为每个堆栈大小设置多次运行测试程序的愚蠢 bash 脚本

结果

0 投票
3 回答
60153 浏览

java - XX 的默认值:MaxDirectMemorySize

XX:MaxDirectMemorySize 的默认值是多少?

0 投票
2 回答
221 浏览

java - 如果一个类由不同的类加载器加载,(sun-jvm)热点优化是否会发生多次?

想象一个(容器)应用程序正在创建多个类加载器来托管几个其他/子应用程序。

容器应用程序有一个 -say- 根类加载器。每次加载子应用程序时,容器都会为此应用程序创建一个新的类加载器。

一些子应用程序使用相同的类,但它们没有被容器的类加载器加载,所以每个子应用程序(更好:它的类加载器)加载例如类 A 的代码。因此 permspace 将被填充两次:一次用于子应用程序#1,一次用于子应用#2。

这对 sun 的热点优化意味着什么?
相同的优化是否会在 A 类上发生两次,每个类加载器一次?
或者,是否有一些内置的“魔法”可以避免这种情况?(优化一次)
有人知道一个链接,这是解释吗?

我指的是带有 jdk 1.6 的 sun(服务器)vm

0 投票
2 回答
7190 浏览

java - 为特定方法/类禁用 Java JIT?

我在我的 Java 应用程序中遇到了 JIT 破坏代码的问题。如果我禁用 JIT,一切正常,但运行速度会慢 10-20 倍。

有什么方法可以禁用特定方法或类的 JIT?

编辑:我使用的是 Ubuntu 10.10,得到相同的结果:

和:

0 投票
2 回答
639 浏览

java - 我可以以编程方式找出实例所在的 GC 代吗?

这个问题的范围仅限于HotSpot 世代。有没有办法以编程方式找出特定实例存在于哪一代。数据如:

  • 年轻一代还是老一代?
  • 如果年轻,哪个幸存者空间?
  • 在 TLAB 内部?哪个线程?

只要我能做这样的事情,任何技术(例如,BTraceJVMTI )都可以工作:

乞丐不能成为选择者,但理想情况下,我还可以了解感兴趣的实例何时从一代转移到另一代即,基于事件回调——对轮询中隐含的延迟和开销不感兴趣。)

对没有正当理由只说“不”的答案不感兴趣:)

0 投票
2 回答
6169 浏览

java - Java中的边界检查

“Hotspot 可以删除 Java 中的边界检查。” 任何人都可以解释一下吗?实际上我正在分析 C++ 和 Java 之间的差异。这不是家庭作业,我根据自己的兴趣进行分析。

0 投票
3 回答
18517 浏览

garbage-collection - 是否可以在 JMX(在 HotSpot 上)中监控“Full GC”频率?

我想监控 JMX 中的 Full GC 频率。MBean 公开 GC 计数。(参见http://download.oracle.com/javase/1.5.0/docs/api/java/lang/management/GarbageCollectorMXBean.html - java.lang:type=GarbageCollector,name=)。

问题是 MBean 不区分次要 gc 和完整 gc。

有人有想法吗?

谢谢。

阿尔诺

0 投票
4 回答
5473 浏览

java - JVM 在 CompilerThread 崩溃

尝试使用 SIGSEGV 编译特定方法(总是相同的方法)时,我的 java 应用程序几乎一直崩溃:

崩溃日志(有趣的部分......):

我试图创建一个核心转储并连接到它,但我找不到 CompilerThread 那里(也许它已经被杀死了