比如有这样一个Java数组,int a[] = new int[4];
如果数组a的地址是数组中首元素的地址,那么假设a的首元素地址为0x1234,那么第二个元素的地址就是为0x1238?
这样认为对吗,因为java中不能像C一样直接取址,所以也看不到每个元素的内存地址,我最近想到了这样一个问题,又无法验证,还望各位大佬给出答案
比如有这样一个Java数组,int a[] = new int[4];
如果数组a的地址是数组中首元素的地址,那么假设a的首元素地址为0x1234,那么第二个元素的地址就是为0x1238?
这样认为对吗,因为java中不能像C一样直接取址,所以也看不到每个元素的内存地址,我最近想到了这样一个问题,又无法验证,还望各位大佬给出答案
openjdk 有工具打印 object 的内存情况的jol/JOLSample_17_ArrayLength.java at master · openjdk/jol (github.com)
其中还有
查看内存地址
主要看你想用来干什么?
可以参考一下 Java数组的如何内存表示