Java基础漏洞(三)-创新互联

复习一些Java基础,填补自己的知识漏洞。

在孙吴等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、做网站 网站设计制作按需设计网站,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销推广,成都外贸网站制作,孙吴网站建设费用合理。1.值引用和地址引用 (1)值引用

由下面程序:定义两个变量n1和n2,将n1的值的值赋给n2,然后修改n2的值,但n1不受影响,因为n1和n2之间只是值引用。

(2)地址引用

定义两个数组arr1和arr2,把arr1赋值给arr2,修改arr2,arr1的值也会改变,arr2在内存空间中指向一个地址,但int []arr2=arr1这条程序把arr2的指向修改了,arr2指向arr1的地址,所以当arr2修改的时候,arr1也会改变,因为它们指向的是同一块地址。

2.数组的拷贝

这里和上一点是异曲同工之妙,假设我们想把一个数组的值拷贝给另一个数组,我们会怎么做。

错误做法:

假如我们像下图一样,直接把第一个数组赋值给第二个数组,这样做就是地址引用,这样修改第二个数组的值时,则第一个数组的值也会改变。

正确做法:

利用值引用而并非地址引用

3.数组的扩容、缩减 (1)扩容

当我们定义了一个数组后无法改变长度,但我们可以利用地址引用,先定义一个新的数组,把新数组的长度定义成所需长度,把原来数组的值拷贝过去,然后利用地址引用把原来数组的地址指向新的地址。

(2)缩减

和上面扩容一样,同理可得。

4.二维数组的内存储存

假如定义一个二维数组int[2][3] arr ,那么它在内存当中大概是这样储存的,假设arr在堆中会指向一个地址0x0011,然后0x0011会指向堆中的一块空间,这块空间储存的是0x0022、0x0033两个地址,而0x0022和0x0033则分别指向一维数组arr[0]和arr[1],0x0022和0x0033才是储存具体数据的地方。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


名称栏目:Java基础漏洞(三)-创新互联
链接URL:http://azwzsj.com/article/dhdjid.html