关闭

指针与引用

452人阅读 评论(0) 收藏 举报
分类:

上文我们讲了内存与内存地址。

对CPU来说,系统中的所有存储器中的存储单元都以内存地址的形式分配到逻辑存储器中,它的容量受地址总线的宽度限制,这个逻辑存储器就是我们说的内存地址。也可以说是C语言的指针。

java中没有指针,是因为指针指向内存的地址空间,会造成内存泄漏,因此java中禁止了直接对内存进行操作的指针。

java语言中的引用则说的是JVM堆中的对象数据的引用,它指向堆中的对象数据,是对内存地址的进一步引用。

指针中存放的是内存地址,长度一般是计算机字长,可以认为是个int。

java中万物皆对象,引用也是一个对象,java中的引用存放在栈中。

java是运算过程中传递的是对象的copy,也就是值传递,对对象copy的修改不影响内存中的数据。而指针传递的是对象的地址,在上节中我们知道对内存地址的操作就是对内存中数据的操作,因此是十分危险的。java出于安全机制的考虑,因此取消了指针操作。

在IDE中编写程序,通过debug操作可以看出引用的值就是具体的对象值,而引用的值是一个Ox开头的16进制的字符串。








参考链接:http://blog.csdn.net/luoweifu/article/details/38308299

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22406次
    • 积分:1276
    • 等级:
    • 排名:千里之外
    • 原创:104篇
    • 转载:32篇
    • 译文:1篇
    • 评论:0条