jvm-hotspot相关内容

尝试在 Windows 上的 Hotspot JVM 中处理 SIGBREAK 时出现 IllegalArgumentException

我正在尝试使用 sun.misc 包中的信号处理类(如此处) 在 Windows 上的 Hotspot JVM 中处理 SIGBREAK,因此我可以在 Ctrl+Break 上触发关闭,而不仅仅是转储线程.但是,我遇到了一种情况,它抛出 IllegalArgumentException 表示当我尝试设置处理程序时操作系统或 VM 已经在处理 SIGBREAK.即使我使用 -Xrs 标志运行 JVM ..
发布时间:2021-09-26 19:24:48 Java开发

Java 中的边界检查

“热点可以移除 Java 中的边界检查."任何人都可以解释这一点吗?实际上我正在分析 C++ 和 Java 之间的差异.这不是家庭作业,我在分析自己的兴趣. 解决方案 谷歌搜索“热点边界检查"后,一篇题为“Java HotSpot™ 客户端编译器的数组边界检查消除" 的论文出现了(作为第一个结果)并为我们提供了一些见解: 摘要: 每当访问数组元素时,Java 虚拟机执行一个比较 ..
发布时间:2021-07-13 19:59:57 Java开发

有没有办法让netbeans使用热点服务器虚拟机

有谁知道默认情况下netbeans是否使用热点服务器虚拟机?我想弄清楚这是否是一种选择.谢谢! -罗杰- 解决方案 好像是这个选项 使 NetBeans 运行 'java -server' 而不仅仅是 java: netbeans -J-server 注意:不过,就原始性能而言,这可能不是最重要的选项. 请参阅 OSX 10.5.8 上 Netbeans 6.8 的 Java ..
发布时间:2021-06-07 19:14:26 Java开发

哪个Java HotSpot JIT编译器正在运行?

我想知道HotSpot Java的无VM参数调用是否正在使用-client,-server或分层编译选项运行.当我不提供任何VM参数时,默认情况下选择哪一个?有没有一种方法可以输出有关正在运行哪个JIT编译器的诊断信息? 解决方案 假设这是热点: -XshowSettings:vm 例如,在我的Windows框上,我得到以下输出: VM设置:最大限度.堆大小(估计):1.77G ..
发布时间:2021-05-20 19:03:56 Java开发

VarHandle get/setOpaque

我一直在努力了解 VarHandle :: setOpaque 和 VarHandle :: getOpaque 到底在做什么.到目前为止,这并不容易-我认为有一些事情(但是我不会在问题本身中提出它们,而不是为了弄混水而已),但是总的来说,这充其量只能说是误导性的对我来说. 文档: 返回按程序顺序访问的变量的值... 请理解,如果我有以下情况: int xx = x;//读取 ..
发布时间:2021-05-18 20:07:25 Java开发

Java中的按位AND(&)表达式

我正在调试其中包含 expr1&expr2 ,其中 expr1 具有副作用,会影响 expr2 评估结果.我怀疑 expr2 在 expr1 之前得到评估,因为JLS保证了对&& 进行从左到右的评估,但不一定对& .我还怀疑评估顺序的更改可能是HotSpot(我们正在运行Java 6u20)进行优化的结果.您知道HotSpot是否可以进行这样的优化吗?更好的是,提供任何指向支持或消除怀疑的文档的指 ..
发布时间:2021-04-15 20:03:43 Java开发

无法打开套接字文件的原因是什么:转储JVM时进程没有响应?

我正在运行命令: jstack 1234 > threadDump.tdump 在Java进程的PID上.我不断收到以下消息: 无法打开套接字文件:目标进程未响应或未加载HotSpot VM 当目标进程没有响应时,可以使用-F选项 我不仅在询问如何解决问题,而且还想了解为什么收到此消息,因为我过去从未收到过此消息. 我在Unix Red Hat上. 解决方案 这 ..
发布时间:2021-02-14 19:44:31 Java开发

-XX:+ StressLCM,-XX:+ StressGCM JVM的选项

在玩一些jcstress代码时,我注意到两个对我来说很新的参数:StressLCM和StressGCM. 对我来说,第一件事就是在源代码本身中搜索这些内容,尽管我发现了一些内容,但仍不清楚它们实际上是做什么的.我真的很希望在源代码中看到一些注释,但这些注释会带来一些启发,但是没有运气. 我还找到了错误说明,但是这些位置已添加解释对我来说毫无意义: 在LCM/GCM中随机化指令调度 ..
发布时间:2021-02-14 19:38:57 Java开发

jvm会在每次执行时评估明显的返回值吗?

我敢肯定,几乎每个人都对这样.复制粘贴代码段以确保完整性: k = (j = (i = 0) + 2) + 1; return i|= j|= k|= (j+= i) - - (k+++k) - - (i =+j); 以上代码段始终返回11,无论如何.所以我的问题是:jvm是否会在每次调用时评估这种/类似的疯狂程度? 解决方案 我不知道这是否可以作为答案,但似乎JVM可以证明不需 ..
发布时间:2021-02-12 18:57:01 Java开发

只需添加方法参数即可获得无法解释的10%以上的性能提升(微弱的jit代码)

(注意:正确答案必须超越复制). 经过数百万次调用后,quicksort1绝对比quicksort2快,而quicksort2除了这1个额外的arg之外,具有相同的代码. 代码在帖子末尾.剧透:我还发现即使实际上应该更简单,Jit代码也可以增加224个字节(如字节代码大小说明;请参阅下面的最新更新). 即使在尝试使用某些微基准测试工具(JMH)排除这种影响之后,性能差异仍然存在. ..
发布时间:2021-02-12 18:55:54 Java开发

Hotspot7 hsdis PrintAssembly英特尔语法

每次在热点中使用-XX:+PrintAssembly并不得不阅读可怕的AT& T语法时,这都会使我感到烦恼. 有没有办法告诉它使用Intel语法? 解决方案 您需要做的就是将一些选项解析到dis-asm.h和binutils代码上 对于Intel Asm(我也更喜欢),只需添加以下内容 -XX:PrintAssemblyOptions=intel 如果您需要组合选项 ..
发布时间:2020-09-12 23:17:04 Java开发

-server选项对HotSpot JVM有什么影响?

我找不到任何清晰的文档来说明在启动Sun HotSpot JVM时通过-server选项的确切效果. 任何人都可以总结一下它的作用吗? 解决方案 使用-server,JVM将更积极地编译热点(即,经常执行的部分代码),因此,编译器将花费更多时间来进行编译.这样做.这不是问题,因为仅当进程运行较长时间(例如,在服务器上)时才使用此选项. 使用-client时,完成的优化更加轻松快 ..
发布时间:2020-07-10 03:40:02 Java开发

为什么在静态初始化程序中使用并行流会导致不稳定的死锁

注意:它不是重复的,请仔细阅读主题 https://stackoverflow.com/users/3448419/apangin 引用: 真正的问题是为什么代码有时在不应该运行的时候工作. 即使没有lambda,该问题也会重现.这让我想到那里 可能是JVM错误. 在 https://stackoverflow.com/a/53709217/2674303 的评论中,我试图找出原因为什 ..