Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2981163
  • 博文数量: 412
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 7374
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-25 15:15
个人简介

学习是一种信仰。

文章分类

全部博文(412)

文章存档

2014年(108)

2013年(250)

2010年(11)

2009年(43)

我的朋友

分类: Java

2014-01-23 08:52:59

1Java这个充满Object的世界中,reference是一切谜题的根源,所有的故事都是从这里开始的。

2、《More Effective C++》说到:

没有null referencereference必须有初值。----reference一个pointerpointernull时,reference也为null了;

使用reference要比使用指针效率高。因为reference不需要测试其有效性。指针可以重新赋值,而reference总是指向它最初获得的对象。

设计选择:当你指向你需要指向的某个东西,而且绝不会改指向其它东西,或是当你重载一个运算符而其语法需要无法有指针达成,你就应该选择reference。其它任何时候,请采用指针。

3、在Java中,与C++不同,reference 可以随心所欲的赋值置空,对比一下上面列出的差异,就不难发现,Javareference如果要与C/C++对应,它不过是一个穿着 reference外衣的指针而已。于是,所有关于C中关于指针的理解方式,可以照搬到Java中。简而言之,reference就是一个地址。我们可以把它想象成一个把手,抓住它,就抓住了我们想要操纵的数据。如同掌握C的关键在于掌握指针,探索Java的钥匙就是reference

4C/C++相比,JavachangeReference中对reference赋值可能并不会造成什么很严重的后果,而在C/C++中,这么做却会造成臭名昭著的“内存泄漏”,根本的原因在于Java拥有了可爱的GC功能。

 

阅读(1323) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~