Java中数组在堆内存中的结构是怎么样的?

osc_73290117 发布于 05/19 21:36
阅读 606
收藏 1

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

比如有这样一个Java数组,int a[] = new int[4];

如果数组a的地址是数组中首元素的地址,那么假设a的首元素地址为0x1234,那么第二个元素的地址就是为0x1238?

这样认为对吗,因为java中不能像C一样直接取址,所以也看不到每个元素的内存地址,我最近想到了这样一个问题,又无法验证,还望各位大佬给出答案

加载中
1
rainsay
rainsay

openjdk 有工具打印 object 的内存情况的jol/JOLSample_17_ArrayLength.java at master · openjdk/jol (github.com)

其中还有

VM.current().addressOf(Object o)

查看内存地址

0
osc_87499782
osc_87499782

主要看你想用来干什么?

可以参考一下 Java数组的如何内存表示

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部