Java'指针'是否整数?

fai*_*ure 5 java pointers jvm reference

我正在进行数据结构和分析.我们已经讨论了对象类型的赋值和比较如何比基本类型的赋值和比较慢得多,例如int.

我记得学习C(大约三十年前的所有那些)以及C中的指针是(或者是)整数调用.今天的Java是类似的,是一个实例化对象内部对内存的整数地址的引用,因此是比较,如

if (MyObject != null) {...}
Run Code Online (Sandbox Code Playgroud)

框架内的整数运算?

我希望我的问题很明确.我一直在研究,我无法找到Java如何管理其动态内存的明确答案.

Jea*_*ard 3

简短的回答是肯定的,对对象的引用像在 C 中一样存储为指针。

我不确定你所说的存储为“整数”是什么意思,但如果你想要的是像在 C 中那样对它们进行一些操作(例如,将整数添加到指针等),那么你不能使用爪哇。

对于其余部分,除了由 Java 处理之外,几乎是相同的。

JLS 4.3.1 指定将对对象的引用存储为指针:

引用值(通常只是引用)是指向这些对象的指针,以及一个特殊的空引用,它不引用任何对象。