0

正如我们所知,在c/c++中存在指针概念,指针概念是一个非常好的概念。那么,为什么java开发人员删除它,如果我们不能在java中使用它的优缺点是什么。

4

1 回答 1

1

默认情况下,托管语言中禁止使用指针以允许内存管理不透明 - 例如,如果没有指针,您可以使用压缩垃圾收集器将对象更靠近在一起以释放更大的可用空间块并提高缓存一致性。但是如果有指针,那么每个指针要么需要更新,要么每次垃圾回收都有效,这是不可行的。

(这当然只是一个原因 :) 但是一个例子说明允许指针如何彻底改变你的编程语言可以做的事情)

在某些托管语言(如 C#)中,您可以声明unsafe {}块,您可以在其中使用非托管内存和指针,但仅限于此。

于 2013-03-13T05:15:12.910 回答