当前位置: 首页 > 面试题库 >

当Java中没有指针时,为什么Java具有“ NullPointerException”?

程景胜
2023-03-14
问题内容

NullPointerException如果在Java中没有指针这样的概念,为什么会得到一个异常调用


问题答案:

是的,这是我在学习Java
LOL时学到的第一批烦人的东西之一。正如paxdiablo所提到的,它实际上应该称为NullReferenceException,NoObjectException或DereferenceException。引用甚至不必在内部表示为指针,并且您不必关心。“大多数虚拟机包括Sun的使用句柄,而不是指针。句柄是指向指针的指针,因此谁知道它们是如何使用它的呢?”
哦,微软的Java VM实际上确实使用了指针而不是句柄。



 类似资料:
  • 并投了两个球 因为数组中只有五个元素,就我在C++中的理解,当没有元素时,应该是零。 当我试着打印出来 但我不明白为什么在指针q中打印出如此巨大的值,尽管它甚至不是堆中的内存地址。 有人能给我解释一下发生了什么事吗?

  • 问题内容: 我知道每次键入字符串文字时,字符串池中都会引用相同的String对象。 但是,为什么String API不包含,所以我可以使用引用? 至少,这将节省编译时间,因为编译器将知道引用现有的String,而不必检查是否已创建它以进行重用,对吗?我个人认为,字符串文字(尤其是很小的文字)在许多情况下是一种“代码异味”。 那么是否没有String.Empty背后的宏伟设计原因,还是语言创建者根本

  • 问题内容: 在Java中,有和接口。两者都属于Java的标准框架,并提供了一种访问元素的分类方法。 但是,据我了解没有。你可以用来对列表进行排序。 知道为什么要这样设计吗? 问题答案: 列表迭代器首先确保你以列表的内部顺序(也称为插入顺序)获取列表的元素。更具体地说,它是按照插入元素的顺序或操作列表的方式进行的。排序可以看作是对数据结构的一种操作,有几种方法可以对列表进行排序。 我将按照自己的见解

  • 问题内容: 恐怕这是一个愚蠢的问题。 有谁能告诉我为什么没有对立的东西? 除了“因为根本就没有”以外,还有其他原因吗? 我应该创建自己的一个吗?还是我想念其他东西? 更新资料 在哪里使用?我正在编写一个使用大量消费者和供应商的图书馆。我成功地写了一行,并且遇到一种情况,期望消费者接受来自方法结果的布尔值。说什么 问题答案: 并且需要避免开销自动装箱每个值。处理原始图元更有效。但是,对于布尔值和字节

  • 问题内容: 如果Java没有指针,那么关键字在Java中做什么? 问题答案: 如前所述,Java有引用。这些有什么不同? 你不能对这些执行算术运算或其他类似运算 它们不指向包含对象的内存(即它们不是另一个名称的指针)。JVM可以自由地在VM内存中移动对象,并且很可能在垃圾回收期间执行。尽管对象在内存中移动,但是引用仍然指向该对象。 因此它们不像C ++引用(直接指向对象)。也许更好的名字是hand

  • 问题内容: 我正在探索,惊讶地发现那没有。 我有两个问题。 主要问题 我想知道为什么删除了? 是否存在性能问题或其他问题? 次要问题 我解决我的问题写我的: 这样可以/有更好的方法吗? 问题答案: