java中的传递效率
让我看看我是否理解这一点。由于Java的“传递引用值”特性,传递数组或大型对象集合(如位图)的成本要比传递的成本低得多……因为实际上传递的是高级引用变量……我离引用值有多远?“传递引用值”“如果参考[type]的值为: Java虚拟机的引用类型被巧妙地命名为reference。类型引用的值有三种类型:类类型、接口类型和数组类型。这三种类型的值都是对动态创建的对象的引用 Java虚拟机中数据值的基本大小单位是单词——每个Java虚拟机实现的设计者选择的固定大小。字大小必须足够大,以容纳byte、short、int、char、float、returnAddress或reference类型的值java中的传递效率,java,collections,memory-efficient,Java,Collections,Memory Efficient,让我看看我是否理解这一点。由于Java的“传递引用值”特性,传递数组或大型对象集合(如位图)的成本要比传递的成本低得多……因为实际上传递的是高级引用变量……我离引用值有多远?“传递引用值”“如果参考[type]的值为: Java虚拟机的引用类型被巧妙地命名为reference。类型引用的值有三种类型:类类型、接口类型和数组类型。这三种类型的值都是对动态创建的对象的引用 Java虚拟机中数据值的基本大小单位是单词——每个Java虚拟机实现的设计者选择的固定大小。字大小必须足够大,以容纳byte、
注:
long
比long
更好,即使参考值实际上可能“更小”
简单地说,long
值不需要间接查找或装箱/取消装箱以及相关对象。(附加内存局部性优势的示例在.NET中更好,它支持更大的“primitive/struct”值,并且不需要装箱/取消装箱。)
嗯,我会说低水平的。。。但是,是的,你所做的只是传递一种模式,指的是存储对象的内存中的位置。有点不精确,但本质上是正确的。也考虑<代码>列表< /代码>;Java总是按值传递。但是,对象类型的值是其“引用地址”。另请参见任何对象类型的默认
toString
实现。您可以传递任何类型的Object,并且不会看到更多开销。这就是你声明的意思。你不必为每个不同的班级再问这个问题。问只是表明你不明白你说了什么。(3)没有意义。对象类型的变量是引用,它们是通过值传递的。@EJP我试图区分“引用”对象(通过值间接)的变量和作为参数传递的“引用值”的概念。措辞可能会有所不同。有什么区别?引用变量包含一个引用值。你需要区分什么?int变量包含一个int值。这一类比是准确的。你只是在制造混乱。我将删除(3)。@EJP我已经更改了一些措辞,希望我的意图更加明确。