数组的内存地址 - Java

时间:2011-01-13 02:30:09

标签: java arrays memory-address

有人知道获取数组索引的内存地址吗? (如c)

2 个答案:

答案 0 :(得分:5)

Java中没有程序员可实现的“地址”概念。在像C或C ++这样的语言中,对象的身份等同于他们的地址 - 如果两个对象位于同一个内存位置,则它们是同一个对象。在Java中,这种身份概念与对象的地址分离。这允许一些在C ++中不可能的优化。例如,垃圾收集器理论上可以在内存中移动对象以避免碎片,只要它修改引用以便它们指向正确的位置即可。由于程序员无法直接访问内存地址,因此允许此操作。在C ++中,它不起作用,因为编译器无法判断内存中的特定位模式是否是某种编码指针。

答案 1 :(得分:1)

你做不到。 Java没有直接内存访问权。