问题标签 [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 投票
2 回答
23773 浏览

java - 为什么在 -server 模式下运行的 Java 说版本是“混合模式”?

为什么在 -server 模式下运行的 Java 说版本是“混合模式”?当我看到这一点时,这是否意味着 JVM 并没有真正以纯服务器模式加载?

0 投票
1 回答
1818 浏览

java - 即使老年代没有被填满,也会持续进行完全 GC

每隔几天我们就会看到连续的 Full GC(超过 1000 次 FullGC)然后应用程序恢复正常......详细的 GC 日志如下......是什么促使这个 Full Gc ?

环境/设置

JDK 1.6
内存设置 -Xms256M -Xmx2048M -XX:MaxPermSize=512M

正在附加到进程 ID 25118,请稍候... 已成功附加调试器。检测到服务器编译器。JVM版本是14.3-b01

使用线程局部对象分配。8 个线程的并行 GC

Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 2147483648 (2048.0MB)
NewSize = 2686976 (2.5625MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 536870912 (512.0MB)

0 投票
4 回答
401 浏览

java - 我在哪里可以找到一个 MemoryConsumer.java 程序来测试内存消耗?

我在哪里可以找到一个 MemoryConsumer.java 程序来测试内存消耗?我知道这样的事情已经存在,因为我通过谷歌看到了对这些事情的引用。例如,这个 Oracle 站点引用了“ConsumeHeap.java”,但我不知道在哪里可以找到该源代码。

热点 1.6 选项

有谁知道在哪里可以找到或如何创建这样的东西?

0 投票
1 回答
17880 浏览

java - 我如何知道为 Sun JVM 启用了哪些默认设置?

我想在我的 JVM 上尝试 CompressedOops。不,我想知道它是否可以默认启用。我在 debian/squeeze 上运行这个 jvm:

有人说它默认启用,有人说它不是:

来自:http ://forums.yourkit.com/viewtopic.php?f=3&t=3185

是的,您是对的,我也检查了它,在 Java6u21 64 位中默认情况下未激活 Compressed Oops,我不明白为什么在我提供的链接中这么说。

我尝试使用 jconsole/JMX 检查它,但没有找到名为 CompressedOops 或类似名称的属性。

有谁知道我从哪里获得具有默认值的特定构建的所有 jvm 选项列表?

问候詹宁

0 投票
3 回答
23544 浏览

java - Android 应用 Wi-Fi 设备 - AP 连接

我正在构建一个可以在移动设备和 Wi-Fi 设备之间传输数据的应用程序...移动设备已启用AP(通过代码)并且另一个设备连接到此特定网络...如何通过代码检测到查看连接到网络(AP)的设备的详细信息?** 有解决方案吗?

我在HTC Desire中看到了一个名为Wifi Hotpot的应用程序,它具有显示连接到网络的设备的 IP 地址的功能。如何做到这一点?

查看评论:HTC EVO 4G 上的 Sprint 移动热点

它显示了一个可以实际显示已连接用户的应用程序。我们如何以编程方式做到这一点?有那个API吗?

创建接入点:

0 投票
4 回答
18555 浏览

java - 鼓励 JVM 进行 GC 而不是增加堆?

(请注意,当我说“JVM”时,我的意思是“热点”,我正在运行最新的 Java 1.6 更新。)

示例情况:

我的 JVM 运行时 -Xmx 设置为 1gb。目前,堆分配了 500mb,其中 450mb 被使用。该程序需要在堆上再加载 200 mb。目前,堆中有 300mb 的“可收集”垃圾(我们假设它们都在最老的一代中。)

在正常操作下,JVM 会将堆增加到 700 mb 左右,并在到达时进行垃圾收集。

在这种情况下,我希望 JVM 先 gc,然后分配新的东西,这样我们最终的堆大小保持在 500mb,使用的堆大小保持在 350mb。

是否有一个 JVM 参数组合可以做到这一点?

0 投票
3 回答
10813 浏览

java - 垃圾收集中的“伊甸园空间”名称来源

在垃圾收集术语中,为什么它被称为“伊甸园空间”?

就这样。我仍然熟悉这些术语,我不明白为什么它有这样的名字。

0 投票
4 回答
473 浏览

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

共识似乎是,将成员变量标记为 final 对性能有好处,因为它们永远不需要从主内存重新加载。我的问题是,当很明显变量无法更改时,javac 或 Hotspot 会自动为我执行此操作。例如,javac 将在下面的此类中使'x'最终...

第二点,有没有人提供经验证据表明将成员标记为 final 会使代码运行得更快?在进行远程调用或数据库查找的任何应用程序中,任何好处都肯定可以忽略不计吗?

0 投票
1 回答
7256 浏览

linux - Java 运行时环境中的致命 SIGSEGV 错误

在 linux 上运行 java 应用程序时收到以下错误,导致 jvm 崩溃:

有关完整的错误日志,请参阅http://pastebin.com/NghPkCpx

不知道从哪里开始,通常我会检查 Java 框架:

虽然不知道该怎么做,但有什么想法可以进行调试吗?

0 投票
0 回答
1120 浏览

jvm - 单个 Java 虚拟机是否有可能具有不同的 id

我们正在使用 HotSpot 1.5.22 运行几个 JBoss 实例,今天我发现一个具有两个不同 vmid 的 JVM。这就是我所看到的:

现在,如果我运行“ps -ef | grep jboss_node_b1”,则该节点只有一个进程运行,PID 为 13278。实际上,同一节点的两个实例不可能同时运行,因为其中一个会崩溃。

这是 jps 报告的内容:

所以我有这个:

  • jboss_node_a1: pid 13255, vmid 13255 但我无法监控它
  • jboss_node_a2: pid 13278, vimd 13278 & 20569

这怎么可能?这可能是 1.5.22 监控工具中的错误吗?

问候