一切都是对象(上)

来源:互联网 发布:ssh怎么指定端口号 编辑:程序博客网 时间:2024/05/17 03:12

1.引用

注意:String s;

这句只是创建了引用,并没用关联上对象,如果此时向s发送消息,会报错。

比如

String s;

  ......

if(null == s)     //当程序执行到这句话时,会报错

....        

       因此,建议:创建引用时,可以先将其赋值为null;

2.引用,常量,对象,基本类型 ,持久化对象 存放在什么地方

引用:存放在堆栈中,其存放关联对象地址的映射。

      优点:快速分配存储 。

              缺点:java系统必须知道存储在堆栈中所有项的生命周期,来控制内存的的释放与否。

       对象:存放在堆中。通过new即可创建对象。

            优点:相对堆栈的好处是,编译器不需要知道存储的数据在堆存活多久。 

            缺点:相对堆栈,存储分配和清理需要更多的时间


       常量:存储在程序代码内部。

            优点:不会轻易被改变。


       基本类型:存放在堆栈中,其直接存储“值”。

            优点:相对于将其存放在堆中,由于其本身占内存小所以不是很适合,加上存在堆栈中,更加的高效(比如存和取)

注:基本类型对应的包装类,可以使其在堆中创建一个非基本对象,用来表示对应的基本对象。

char  c = 'x'

  Character ch = new Character(c);

  也可以   Character ch  = ‘x’;(自动装箱)

      持久化对象:由于数据可以完全独立于程序,可以在程序没有运行时也可以存在。如 流对象,持久化对象。

              所以可以存放在磁盘中,数据库

0 0
原创粉丝点击