2

有人知道获取数组索引的内存地址吗?(就像在 c 中一样)

4

2 回答 2

5

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

于 2011-01-13T02:33:55.377 回答
1

你不能。Java 没有直接的内存访问。

于 2011-01-13T02:31:51.493 回答