是Java'指针'整数?

时间:2015-04-18 00:08:40

标签: java pointers reference jvm

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

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

if (MyObject != null) {...}

框架内的整数运算?

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

1 个答案:

答案 0 :(得分:3)

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

我不确定你的意思是存储为“整数”,但如果你想要的是对它们做一些操作,就像你可以在C中做的那样(例如将整数添加到指针等),那么你可以用Java。

对于其他人来说,它几乎是相同的,除了它由Java处理。

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

  

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