gpt4 book ai didi

java - java中传入的效率

转载 作者:行者123 更新时间:2023-12-01 13:08:52 25 4
gpt4 key购买 nike

让我看看我是否理解这一点。由于 Java 的“按引用值传递”的性质,传递数组或大型对象集合(例如位图)的成本比它可能要低得多......因为你实际上是传递一个高级引用变量...我还有多远?

最佳答案

“pass-by-the-value-of-the-reference”对其进行了总结,其中引用[类型]的an internal opaque value :

The reference type of the Java virtual machine is cleverly named reference. Values of type reference come in three flavors: the class type, the interface type, and the array type. All three types have values that are references to dynamically created objects.

..

The basic unit of size for data values in the Java virtual machine is the word--a fixed size chosen by the designer of each Java virtual machine implementation. The word size must be large enough to hold a value of type byte, short, int, char, float, returnAddress, or reference.

<小时/>

注释:

  1. Android-Dalvik 不是 Java-JVM。但是,为了便于讨论,需要“等效堆栈空间”来传递引用和整数或利用相同的局部变量。

  2. 这不仅仅与尺寸有关。在可能的情况下,传递和使用 longLong 更好,即使引用值实际上可能“更小”。

    简单地说,long 值不需要间接查找或装箱/拆箱以及关联对象。 (额外的内存局部性优势的示例在 .NET 中更好,它支持更大的“基元/结构”值并且不需要装箱/拆箱。)

  3. “实际上传递一个高级引用变量”这句话是错误的,因为 Java 中不传递变量。仅将值作为参数传递:对于引用类型表达式(包括简单变量表达式),将传递引用

关于java - java中传入的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com