Java 'pointers' 是整数吗?
Are Java 'pointers' integers?
我正在学习数据结构和分析。我们已经了解了对象类型的赋值和比较比基本类型(例如 int)的赋值和比较慢得多。
我记得学习 C(差不多三十年前)以及 C 中的指针是(或曾经是)整数调用。 Java 与今天相似吗,是对内部实例化对象的引用,内存的整数地址,因此是诸如
之类的比较
if (MyObject != null) {...}
框架内的整数运算?
我希望我的问题很清楚。我一直在研究,但找不到关于 Java 如何管理其动态内存的明确答案。
简短的回答是肯定的,对对象的引用像在 C 中一样存储为指针。
我不确定存储为 "integer" 是什么意思,但是如果您想要像在 C 中那样对它们进行一些操作(例如,将整数添加到指针等) , 那么你不能用 Java.
其余的,除了由 Java 处理外,几乎是一样的。
JLS 4.3.1 指定对象的引用存储为指针:
The reference values (often just references) are pointers to these
objects, and a special null reference, which refers to no object.
我正在学习数据结构和分析。我们已经了解了对象类型的赋值和比较比基本类型(例如 int)的赋值和比较慢得多。
我记得学习 C(差不多三十年前)以及 C 中的指针是(或曾经是)整数调用。 Java 与今天相似吗,是对内部实例化对象的引用,内存的整数地址,因此是诸如
之类的比较if (MyObject != null) {...}
框架内的整数运算?
我希望我的问题很清楚。我一直在研究,但找不到关于 Java 如何管理其动态内存的明确答案。
简短的回答是肯定的,对对象的引用像在 C 中一样存储为指针。
我不确定存储为 "integer" 是什么意思,但是如果您想要像在 C 中那样对它们进行一些操作(例如,将整数添加到指针等) , 那么你不能用 Java.
其余的,除了由 Java 处理外,几乎是一样的。
JLS 4.3.1 指定对象的引用存储为指针:
The reference values (often just references) are pointers to these objects, and a special null reference, which refers to no object.