首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenJ9 VM对象布局

OpenJ9 VM对象布局
EN

Stack Overflow用户
提问于 2018-07-30 19:35:07
回答 2查看 223关注 0票数 1

OpendJDK有一个Java Object Layout (JOL)工具,可以用来估算指定对象的实例实际内存大小。它可以显示HotSpot的对象布局,但在OpenJ9中会相同吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-30 19:40:39

好吧,我想,答案是否定的,至少事实是,如果你也算上引用大小,有特定于HotSpot的UseCompressedOops。也许J9也有,但也可能没有。

还有填充的问题,在HotSpot中对象是8 bytes对齐的(关于继承有更复杂的事情),但我不知道J9是否做到了这一点……

票数 1
EN

Stack Overflow用户

发布于 2018-11-09 03:49:57

如果您有一个系统核心(例如,通过-Xdump:system:events=vmstop),您可以使用jdmpview的!objectsizeinfo命令查看活动对象的大小,包括填充和对齐,例如:

代码语言:javascript
复制
> !objectsizeinfo java/lang/String

Object field size summary
=========================
Class             Total size  Data size  Space used  Instances  char  byte  short  int  long  float  double  boolean  object  hidden  
----------------  ----------  ---------  ----------  ---------  ----  ----  -----  ---  ----  -----  ------  -------  ------  ------  
java/lang/String  16          10*        66752       4172       0     2     0      0    0     0      0       0        1       0       
Class             Total size  Data size  Space used  Instances  char  byte  short  int  long  float  double  boolean  object  hidden  
Heap summary      66752       41720      66752       4172       0     8344  0      0    0     0      0       0        4172    0       
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51593101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档