试想一下,假如数组中有上万个元素,在拷贝数组时,如果将数组a的所有元素都一一拷贝至数组b,时间开销很大,有时候也不是必需的。
所以,在Java语言中, b = a(a和b都是引用名)的含义就是将a起个别名"b"。
之后,a和b其实就是指向的是同一个对象。
int[] a = new int[10]; int[] b; b = a;
在Java中,这种给变量取别名的机制称之为引用(reference)。
一个程序若想运行,必须驻入内存,而在内存中必然有其存储地址,通过这些内存地址,就可以找到我们想的数据。
这些内存地址通常都很长,因为不容易记住,所以就给这些地址取个名称,这就是引用变量,这些引用变量存储在一块名叫 “栈内存” 的区域。
那么所谓“引用”,就是Java对象在堆内存的地址赋给了多个“栈内存”的变量。
由于Java禁止用户直接操作“堆整型、浮点型、布尔型等基本数据类内存”中对象的地址,所以只能用这些“栈内存”的多个引用名来间接操作它们对应的“堆内存”数据。
所以,Java中的“引用”更类似于C/C++中的“指针”概念,所不同的是,C/C++中的“指针”可以被用户直接修改,而在Java中对内存的直接修改是被屏蔽的。
以上就是java数组的引用有什么意义的详细内容,更多请关注大盘站其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。