Thinking in java 4学习(一)一切都是对象

一:对象存储的地方

1. 寄存器:处理器内部,最快的存储区,由编译器根据需求进行分配,我们在程序中无法控制.

2. 栈:位于通用RAM(随机访问处理器)中,存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中

3. 堆:存放所有new出来的对象。

4. 常量储存:

5. 非RAM存储:硬盘等永久存储空间

二:作用域

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

{

  String s = new String("a string");

}// End of scope

引用s在作用域终点就消失了,而s指向的String对象仍继续占据内存空间

三:类

若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。然而确保初始化的方法并不适用于"局部"变量(即并非某个类的字段)

将上图注释去掉就会报错,也就是编译时会报错。

总结:养成对变量的初始化行为,尤其是方法变量的初始化。

原文地址:https://www.cnblogs.com/vincentren/p/5645483.html