为什么在java中不使用指针概念?
正如我们所知,在c/c++中存在指针概念,指针概念是一个非常好的概念。那么,为什么java开发人员会删除它,如果我们不能在java中使用它,它的优点和缺点是什么。默认情况下,托管语言中禁止指针,以允许内存管理不透明-例如,如果没有指针,您可以使用压缩垃圾收集器将对象移动得更近,以释放更大的可用空间块并提高缓存一致性。但如果存在指针,那么每个指针要么需要在每次垃圾收集时更新,要么变为有效,这是不可行的 (这当然只是一个原因:)但一个例子说明了允许指针如何极大地改变编程语言的功能)为什么在java中不使用指针概念?,java,Java,正如我们所知,在c/c++中存在指针概念,指针概念是一个非常好的概念。那么,为什么java开发人员会删除它,如果我们不能在java中使用它,它的优点和缺点是什么。默认情况下,托管语言中禁止指针,以允许内存管理不透明-例如,如果没有指针,您可以使用压缩垃圾收集器将对象移动得更近,以释放更大的可用空间块并提高缓存一致性。但如果存在指针,那么每个指针要么需要在每次垃圾收集时更新,要么变为有效,这是不可行的 (这当然只是一个原因:)但一个例子说明了允许指针如何极大地改变编程语言的功能) 在一些托管语言中
在一些托管语言中,如C#,您可以声明
不安全的{}
块,在这些块中您可以使用非托管内存和指针,但只能在那里使用。Java的主要卖点之一是对不称职的C/C++程序员的“不再使用指针”运动(我现在将被点燃)。这更像是Java有指针,但它以安全的方式管理它们。