HotSpot是Oracle和OpenJDK Java运行时环境使用的标准Java虚拟机。
众所周知,HotSpot 中有 Serial、CMS、G1 等七个 GC。我很困惑的是,它们同时全部工作还是只有部分工作?他们是如何配合的...
例如,方法中循环10000次。当运行1000次时,backedge_counter会触发JIT编译。并且解释器继续执行。当循环 4000 次时,JIT
如何在没有“0x00007fffe0dde513 in ?? ()”的情况下生成有效的JDK9调试版本?
这是我之前的帖子: 使用gdb进行JDK9 Hotspot调试,导致eclipse/Ubuntu终端出现SIGSEGV分段错误 现在我有一个问题 线程 0x7ffff7fc8700 (LWP 74291)“java”
考虑代码: someList.forEach(x -> System.out.format("元素 %s", x)); 理论上,应该可以内联这段代码并消除第一次 inl 的间接函数调用...
OpenJDK VM 和 Oracle Hotspot VM 仍然是两个不同的 JVM 吗? 我似乎找不到任何有关 OpenJDK VM 的官方文档。甚至在 OpenJDK 主页上也有一个 HotSpot G...
JDK 8 中引入的元空间仍然是 JVM 中运行时数据区域的一部分?除了大小自动增加之外,它与 Permgen 空间有何不同?
Hotspot VM 是如何生成 String oops 和mirror oops 的?
在openjdk8源代码中,我发现一些java.lang.String oop不经过字节码引擎并由jvm本身分配。正如 hotspot/src/share/vm/classfile/javaClasses.cpp:185 所说: 手柄
我最近正在测试一个并发负载相对较高的演示应用程序。该应用程序是一个 java 应用程序,在 Hotspot JVM (1.8.0_111) 上运行。 我可以获得最大吞吐量...
我正在写一篇 Oracle HotSpot 和 GC 内部结构文章,但我对 OOP(普通对象指针)的含义感到困惑。 Oracle 文档指出 OOP 是 32 或 64 位点...
JVM 如何将 API 翻译成 JVM 内部的实现? 它类似于“Linux Kernel syscall”实现吗?如果是的话,这些接口在哪里?希望能看到源码。 图来自ht...
我对可重入锁的条件感到困惑。这是文档: 等待线程按照 FIFO 顺序发出信号。 从 w 返回的线程重新获取锁的顺序...
首先,代码: 公共类 StackSOF { 私有 int 深度 = 0; 公共无效堆栈泄漏(){ 深++; 堆栈泄漏(); } 公共静态无效主(字符串[] args){
我想查看 JVM 生成的机器代码来调用本机方法,详细信息请参见此处。 我知道选项 -XX:+PrintAssembly (就像这里:https://stackoverflow.com/a/24718356/13912132),b...
int java8 sun.misc.VMSupport util 提供了多种 api,如 getAgentProperties() 等。但是,该 util 在 java11 版本中被删除。这门课还有其他选择吗?
这里有一篇文章介绍了虚拟调用的jit优化策略。 但令我惊讶的是,所有优化的虚拟调用都使用相同的地址,例如文章中的 callq 0x000000011418ea00...
我有以下比较器实现: 私有静态最终类 ValueComparator> 实现 Comparator { 私人...
我正在尝试记录对我正在构建的分析工具的字段/静态变量的每次访问,到目前为止我已经找到了这个解释器 rt 函数, void InterpreterRuntime::resolve_get_put(JavaThre...
有没有jvm复用LocalVariableTable槽的好例子?
我正在通过阅读Java虚拟机规范来学习java的汇编语言 我对 LocalVariableTable 属性感到困惑,官方文档说当执行 .class 文件时,所有...
我很难理解 Hotspot JVM 的 OOP(普通对象指针)
我现在处于一种非常困惑的状态。 我在研究对象头时遇到了术语“OOP(普通对象指针)”。 这是我用于该学习的主要资源。 对象的内存布局...