thinking in java 阅读收获
《thinking in java》,国内翻译为《JAVA编程思想》,一直听说该书写的非常好,今日研读,果然有所收获,特在此记录一些阅读时点点滴滴的收获。
1. “基本数据类型的对象”与“类类型的对象”所存储的位置不同。
1.1 基本数据类型包含: boolean,char ,int ,float等等。基本类型的对象存储在“堆栈”中,而“类类型”的对象就是存储在“堆”中。
1.2 由于基本类型的对象存储在“堆栈”中,所以基本类型的对象需要明确规定数据类型所占空间大小,如:char 占 16bit.
2. “引用” 与 “对象”
“对象”是指某种具体类型的实例,也就是在内存中占用了一定的空间后创建的数据。
“引用”, 是由于java中一切皆对象,为了提供一种通用的访问和操作方式所存在的一种定义。
例如:
String a; a就是一个对String类型对象的引用变量;
String a=new ("123"); 只有明确的调用new方法,该类型才会在内存中创建一个实例对象,并且通过“=”号,将引用a与创建的String类型的对象关联起来。
3. 作用域
例:
{
String a="123";
} // 作用域的终点
作用域决定了在其内定义的变量名的可见性和生命周期,作用域由花括号的位置决定。如上例,引用a在作用域的终点就消失了,但是a指向的String对象任然存在内存中.