JVM的引用类型

3as*_*awy 4 java jvm

在一些Java文献中,声明

Java虚拟机的引用类型巧妙地命名为引用

广受欢迎.但是,作者倾向于不解释为什么这样的陈述是有效的.让我更了解这一点的另一件事是

JVM的引用类型意味着什么?JVM是否在堆中表示自己?

对此声明表示赞赏.

谢谢,

Ashmawy

JUS*_*ION 10

你在这里寻找的词是具有讽刺意味的:

用词来表达与其字面意义相反的含义

在这句话中使用"聪明"显然具有讽刺意味. "Java虚拟机的引用类型给出了明显非常明显的名称'引用'"是另一种阅读该句子的方法.


Arj*_*jms 5

我认为该cleverly部分涉及这样一个事实,即引用类型通常称为a pointer,这使得读者需要学习两个术语.JVM术语只是使用了这个术语reference.

还有一个历史背景.

引入Java时,它最大的竞争对手是C++.C++的主要问题是它被认为太难了.Java最初将自己定位为C++ 的简单替代品.它的语法非常接近C++,但是从语言中删除了所有困难的东西(运算符重载,模板,多个传递机制)等.

现在抓住了......

Java最初的销售是因为没有指针.说这个的理由是指针被认为是C++中最难的东西,所以如果Java不具备它们,它必须是一种更简单的语言.

因此,聪明的部分来自简单地为"指针"发明另一个术语.称它们为引用,你可以声明Java没有指针(但引用).

这导致了很多争论并引起了很多混乱,特别是因为C++已经有了"引用"一词并将其用于其他东西(虽然在概念上有点相关).辩论通常围绕两个阵营,其中一个声称Java确实没有指针,因为你不能用它们做指针算法而且它们不直接代表内存地址,而另一个阵营说你没有能够使用指针进行算术运算,将其称为指针.

换句话说,使用该术语是否聪明reference仍然可以辩论.