Java对C++的指针模型

Sar*_*taj 2 java

Java和C/C++之间最大的区别在于Java有一个指针模型,可以消除覆盖内存和破坏数据的可能性.

这是教科书的引用.我一直认为使用指针而不是Java是C++.有人可以详细说明吗?

Sol*_*low 5

我反对在描述Java程序时使用"指针"这个词.我总是说"对象引用"(或仅仅是"引用").

C或C++中的指针标识进程虚拟地址空间中的位置,虚拟地址空间基本上是一个巨大的无类型数组.给定一个指针,您可以为它添加一个偏移量,并获得指向数组中不同位置的指针.给定两个指针,您可以计算它们之间的偏移量.

您无法使用Java对象引用执行任何操作.Java对象引用标识堆上的对象.该对象的地址可以(并且可能确实)不时地改变,但它的身份始终是唯一的.

您不能"向对象引用添加偏移量"并获取不同的对象引用.它没有任何意义.