jvm-hotspot
-
通过简单地添加方法参数(更精简的jit代码)无法解释的10%+性能提升原因 (注:正确答案必须超越复制)。 经过数百万次调用,quicksort1 绝对比 quicksort2 快,后者除了这 1 个额外的 arg 之外,还具有相同的代码。 剧透:我还发现jit代码比它胖了224个字节,即使它实
-
了解热点 JVM 进程的内部碎片属性 对于堆上和堆外分配。堆上 - 在三个主要垃圾回收器的上下文中:CMS,Parallel Old和G1。 我所知道的(或认为我知道的)到现在: 所有对象(堆上)分配都向上舍入到 8 个字节边界(或更大的 2
-
JRE 32 位与 64 位 我已经使用Java一段时间了,我设置新开发机器的典型仪式需要从Oracle的网站下载和安装最新的JDK。 这在今天引发了一个不寻常的问题, 我确信除了无法在32位系统上安装64位JRE之外,我在这里
-
热点JIT内联策略:自上而下或自下而下 假设我们有 3 个方法:从方法 1 调用方法 2,从方法 2 调用方法 3。方法 2 和 3 的大小分别为 30 字节码。此外,假设对于确定性,方法 2 总是从方法 1 调用一次,而方法 3 总是从方法 2 调用一次
-
如果在 HotSpot JVM 中启用了偏置锁定,则对象的哈希代码存储在哪里? 据我所知,对象的哈希代码通常存储在对象的标头词中,例如,该标头词在HotSpot中可能具有以下布局: 当启用有偏差锁定时,如果需要,哈希代码实际存储在哪里?
-
在现有 jvm 进程中执行新的 java 代码 我有一个Java进程,目前在Windows shell下运行。 负责序列化的线程之一被无限期阻止,因此存储在内存中的重要信息不再写入磁盘。 如果我关闭进程,信息将丢失。 如果我可以编写和编译一些
-
-
-
Java 中已提交内存的确切状态 我很好奇当从MemoryUsage类中查询值时,“提交”内存的确切含义是什么。该类将其解释为“提交表示保证可供Java虚拟机使用的内存量(以字节为单位)。这是否意味着内存正由 jvm 进程使用,并
-
weakCompareAndSwap vs compareAndSwap 这个问题不是关于它们之间的区别 - 我知道什么是虚假故障以及为什么它会发生在LL / SC上。我的问题是,如果我使用的是intel x86并使用java-9(build 149),为什么它们的汇编代码之间有区别?
标签