首页 > 代码库 > 第二章:一切皆对象。(一)

第二章:一切皆对象。(一)

2.1、用引用操作对象。

  1.一个形象的比喻:在java中,一切皆对象。但是操纵的标示符实际上是对象的一个“引用”(reference)。可以想象成一个遥控器(引用)操纵电视机(对象)。

想要换频道或者调整音量,实际操纵的是遥控器(引用),再由遥控器来操纵电视机(对象)。

  2.有5个不同的地方可以存储数据:

    1、寄存器:这是最快的存储区。它位于处理器内部。寄存器的数量极其有限。根据需求进行分配,不能直接控制。

    2、堆栈:位于通用RAM(随即访问存储器)中,堆栈指针若向下移动,则分配新的内存;若向上移动,释放内存。创建程序时,java系统必须知道存储在堆栈内所有项

    的确切生命周期,以便上下移动堆栈指针。

    3、:一种通用的内存池(也位于RAM区),用于存放所有的java对象。当new一个对象的时候,会自动在堆里进行存储分配。 用堆进行存储分配和清理可能比堆栈进行存储分配需要更多的时间。

    4、常量存储:存放在ROM(只读存储器)。字符串池就是这样,所有字面常量字符串和具有字符串值的常量表达式会置于特殊的静态存储区中。

    5、非RAM存储:流对象和持久化对象。

  3.基本类型:置于堆栈中,更加高效,占用存储空间不变,保证java的可移植性的一个原因。

基本类型大小  最小值最大值包装器
boolean---Boolean
char16bitUnicode 0Unicode 216-1Character
byte8bit-128  127Byte
short16bit-215215-1Short
int32bit-231231-1Integer
long64bit-263263-1Long
float32bitIEEE754  IEEE754Float
double64bitIEEE754IEEE754Double
void---Void