当前位置: 首页 > 面试题库 >

了解JVM中的对象开销

印飞捷
2023-03-14
问题内容

我正在学习Java,记得在某个地方读过Java对象,但JVM内部有一些开销,JVM出于虚拟机的管理原因而使用了这些开销。所以我的问题是,有人可以告诉我是否以及如何在HotSpot
JVM中获得对象的总大小以及它可能带来的任何开销吗?


问题答案:

您无法直接获得开销。开销量取决于实现方式,并且可以根据多种因素(例如,精确的JVM版本以及您使用的是32位还是64位JVM)而有所不同。

但是,可以合理地假设,在像HotSpot这样的典型现代JVM实现中,每个对象的开销 在8到16个字节之间
。数组的开销通常比其他对象大4个字节(以包含整数数组长度)。



 类似资料:
  • 如果我们使用 那么创建了多少对象,它们驻留在哪里?

  • 问题内容: 调试时,在Eclipse中对象值附近显示一个对象ID。 例如:28332是会话对象的ID。另一个示例:显示在“调试”面板中。这些ID既不是哈希码,也不是。 有人知道吗-如何获取对象的ID? 问题答案: 我假设它们在内部具有,为每个对象分配一个唯一的(但无意义的)整数。这应该在Eclipse调试器的内部(而不是对象具有的特殊ID)。您在问如何达到目标吗? 编辑 :我会这样设置断点(请注意

  • 我在玩jmh,在关于循环的部分,他们说 您可能会注意到重复次数越多,被测量操作的“感知”成本就越低。到目前为止,我们每次添加都使用1/20 ns,远远超出了硬件的实际能力。发生这种情况是因为循环被大量展开/流水线化,并且要测量的操作是从循环中提升的。士气:不要过度使用循环,依靠JMH来获得正确的测量。 我自己也试过了 并得到以下结果: 它确实显示了MyBenchmark。MeasureError\

  • 本文向大家介绍你真的了解BOM中的history对象吗,包括了你真的了解BOM中的history对象吗的使用技巧和注意事项,需要的朋友参考一下 前面的话   history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后退和前进。本文将详细介绍BOM中的history对象

  • 本文向大家介绍深入了解Java对象的克隆,包括了深入了解Java对象的克隆的使用技巧和注意事项,需要的朋友参考一下   今天要介绍一个概念,对象的克隆。本篇有一定难度,请先做好心理准备。看不懂的话可以多看两遍,还是不懂的话,可以在下方留言,我会看情况进行修改和补充。   克隆,自然就是将对象重新复制一份,那为什么要用克隆呢?什么时候需要使用呢?先来看一个小栗子:   简单起见,我们这里用的是Goo

  • 本文向大家介绍了解Javascript中函数作为对象的魅力,包括了了解Javascript中函数作为对象的魅力的使用技巧和注意事项,需要的朋友参考一下 前言 Javascript赋予了函数非常多的特性,其中最重要的特性之一就是将函数作为第一型的对象。那就意味着在javascript中函数可以有属性,可以有方法, 可以享有所有对象所拥有的特性。并且最重要的,她还可以直接被调用 我们简单的试验一下就可