Java中的引用概念
来源:互联网 发布:烟台软件开发公司 编辑:程序博客网 时间:2024/05/17 23:06
Java对对象和基本的数据类型的处理是不一样的。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为"值传递"。而在Java中用对象的作为入口参数的传递则缺省为"引用传递",也就是说仅仅传递了对象的一个"引用",这个"引用"的概念同C语言中的指针引用是一样的。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作。除了在函数传值的时候是"引用传递",在任何用"="向对象变量赋值的时候都是"引用传递"。
产生:引用总是在把对象作参数"传递"的过程中自动发生,不需要人为的产生,也不能人为的控制引用的产生。这个传递包括把对象作为函数的入口参数的情况,也包括用"="进行对象赋值的时候。
范围:只有局部的引用,没有局部的对象。引用在Java语言的体现就是变量,而变量在Java语言中是有范围的,可以是局部的,也可以是全局的。
生存期:程序只能控制引用的生存周期。对象的生存期是由Java控制。用"new Object()"语句生成一个新的对象,是在计算机的内存中声明一块区域存储对象,只有Java的垃圾收集器才能决定在适当的时候回收对象占用的内存。没有办法阻止对引用的改动。
Strong reference, soft reference, weak refeence, phantom reference
- Java中的引用概念
- Java中的引用概念
- Java中的引用概念
- Java中的引用概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java中的引用类型概念
- java 中的vector 和 引用的概念
- OracleConnection (.NET)
- 匈牙利命名法
- SQL Server 的最大容量规范
- 各浏览器对于获取文档水平及垂直方向滚动条位置(scrollLeft、scrollTop)时的参考元素存在差异
- oracle clob字段 to_char() 缓冲区太小
- Java中的引用概念
- java 位操作运算符
- CocoaPods详解之----进阶篇
- 交互设计资源
- Android WiFi系统
- Android 程序的命名规则
- Codeforces Round #279 (Div. 2)B. Queue
- Web service是什么?
- RequireJS进阶(一)