问题标签 [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.
java - 为什么在 -server 模式下运行的 Java 说版本是“混合模式”?
为什么在 -server 模式下运行的 Java 说版本是“混合模式”?当我看到这一点时,这是否意味着 JVM 并没有真正以纯服务器模式加载?
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)
java - 我在哪里可以找到一个 MemoryConsumer.java 程序来测试内存消耗?
我在哪里可以找到一个 MemoryConsumer.java 程序来测试内存消耗?我知道这样的事情已经存在,因为我通过谷歌看到了对这些事情的引用。例如,这个 Oracle 站点引用了“ConsumeHeap.java”,但我不知道在哪里可以找到该源代码。
有谁知道在哪里可以找到或如何创建这样的东西?
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 选项列表?
问候詹宁
java - Android 应用 Wi-Fi 设备 - AP 连接
我正在构建一个可以在移动设备和 Wi-Fi 设备之间传输数据的应用程序...移动设备已启用AP(通过代码)并且另一个设备连接到此特定网络...如何通过代码检测到查看连接到网络(AP)的设备的详细信息?** 有解决方案吗?
我在HTC Desire中看到了一个名为Wifi Hotpot的应用程序,它具有显示连接到网络的设备的 IP 地址的功能。如何做到这一点?
查看评论:HTC EVO 4G 上的 Sprint 移动热点。
它显示了一个可以实际显示已连接用户的应用程序。我们如何以编程方式做到这一点?有那个API吗?
创建接入点:
java - 鼓励 JVM 进行 GC 而不是增加堆?
(请注意,当我说“JVM”时,我的意思是“热点”,我正在运行最新的 Java 1.6 更新。)
示例情况:
我的 JVM 运行时 -Xmx 设置为 1gb。目前,堆分配了 500mb,其中 450mb 被使用。该程序需要在堆上再加载 200 mb。目前,堆中有 300mb 的“可收集”垃圾(我们假设它们都在最老的一代中。)
在正常操作下,JVM 会将堆增加到 700 mb 左右,并在到达时进行垃圾收集。
在这种情况下,我希望 JVM 先 gc,然后分配新的东西,这样我们最终的堆大小保持在 500mb,使用的堆大小保持在 350mb。
是否有一个 JVM 参数组合可以做到这一点?
java - 垃圾收集中的“伊甸园空间”名称来源
在垃圾收集术语中,为什么它被称为“伊甸园空间”?
就这样。我仍然熟悉这些术语,我不明白为什么它有这样的名字。
java - javac 或 Hotspot 会自动添加“final”作为不变变量的优化吗?
共识似乎是,将成员变量标记为 final 对性能有好处,因为它们永远不需要从主内存重新加载。我的问题是,当很明显变量无法更改时,javac 或 Hotspot 会自动为我执行此操作。例如,javac 将在下面的此类中使'x'最终...
第二点,有没有人提供经验证据表明将成员标记为 final 会使代码运行得更快?在进行远程调用或数据库查找的任何应用程序中,任何好处都肯定可以忽略不计吗?
linux - Java 运行时环境中的致命 SIGSEGV 错误
在 linux 上运行 java 应用程序时收到以下错误,导致 jvm 崩溃:
有关完整的错误日志,请参阅http://pastebin.com/NghPkCpx
不知道从哪里开始,通常我会检查 Java 框架:
虽然不知道该怎么做,但有什么想法可以进行调试吗?
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 监控工具中的错误吗?
问候