Java编程思想读书笔记:第2章 一切都是对象

2.1  用引用操作对象

1. C/C++用指针操作对象;

2. Java把一切都视为对象;

3. 引用不是对象。

2.2  必须由你创建所有对象

1.  new关键字的意思是“给我一个对象”;

String s = new String("hello")。

2.2.1 存储到什么地方

1.  寄存器:Java寄存器不能直接控制;

2.  堆栈;

3.  堆:new一个对象,该对象自动在堆里面进行存储分配;

4.  常量存储:只读,如ROM;

5.  非RAM存储。

2.2.2 特例:基本类型

1.  微小变量直接存储“值”,并置于堆栈中;

2.  微小变量不使用new, 因为new创建一个对象——特别是小的,简单的变量,往往不是很高效;

3.  Java基本类型:

boolean
char
byte
short
int 
long
float
double
void

2.2.3 Java的数组

1.  C/C++数组越界,造成不可预料后果(深有体会);

2.  Java目标是安全性;

3.  Java确保数组会被初始化,而且不能在它的范围之外被访问;

4.  创建一个数组对象时,实际上就是创建一个引用数组;

5.  每个引用都会自动被初始化为一个特定值,该值拥有自己的关键字null;

6.  一旦Java看到null,就知道这个这个引用还没有指向某个对象;

7.  在使用任何引用前,必须为其指定一个对象;

8.  如果试图使用一个还是null的引用,在运行时将会报错,因此,常犯的数组错误在Java中就可以避免。

2.3 永远不要销毁对象
2.3.1 作用域

1.  作用域由花括号的位置决定。

2.3.2 对象的作用域

1.  Java对象不具备和基本类型一样的生命周期;

2.  当用new创建一个Java对象时,它可以存活于作用域之外:

{
    String s = new String("a string");
}  //end of scope
    a.  引用s在作用域终点就丢失;

    b.  然而s指向的String对象仍然占据内存空间;

3.  Java有垃圾回收器,用来监视new创建的所有对象,并辨别那些不会再被使用的对象。随后,释放这些对象的内存空间,以便供其他新的对象使用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值