Java真的有指针吗?
我在google上寻找答案,但不满意。
Java
使用内存位置,它位于您看不到或无法访问它的场景的后面(据我所知,也许有一些我不知道的访问方法)。
与专门使用指针的c ++这样的编程语言相比,没有专门为可在任何系统上使用的Internet设计的Java这样的编程语言中没有指针的目的是什么?
你们中的许多人都在说“保持简单”。如果是这样,那为什么为什么流行的编程语言(如)c++
仍然使用指针呢?
回答:
简单的答案是,这是设计决定。稍长一点的答案是,C ++中的指针仅对于内存操作才是必需的,这不是适用于Java的概念(请参见下文)。
Java设想了一个相当系统的,面向对象的编程模型,并且所有基于类的类型基本上 总是 通过指针进行处理,因此,这一事实根本不会暴露给用户。
在高质量,系统化和惯用的编程中,也不需要C
++中的原始指针。原始指针允许您执行的操作(即指针算术)通常被认为是“不安全的”,因此完全将它完全排除在Java之外。
顺便提一下,人们尝试使用C和C 中的指针进行的许多操作实际上是未定义的行为。正确使用指针会给您带来相当有限的选项集,在惯用的C
中,大多数选项可以做得更好。
关于指针的唯一 真正
用途是直接内存操作。由于Java不希望您这样做(而且实际上,其垃圾回收的内存管理会主动干扰并被手动内存操作破坏),因此不需要显式指针。
更新后:( 我认为)最后一段是最引人注目的解释:在C 中,您 需要 能够编写自己的内存管理代码(请参阅“分配器”)。并且内存 必须
通过指针进行处理。因此,我的严格答案是,在实现内存管理时,您需要C 中的指针,而从没有其他要求。
以上是 Java真的有指针吗? 的全部内容, 来源链接: utcz.com/qa/416126.html