《java编程思想》P22-P37(第二章一切都是对象)

时间:2021-10-03 16:11:26

1.JAVA操纵的标识符实际上是对象的一个“引用”;如String s;里的s是String类的引用并非对象。

2.程序运行时,有五个不同的地区可以存储数据。

(1)寄存器:最快的存储区,数量有限,按需分配,你不能直接控制

(2)堆栈:java对象引用存在这,对象并不在这;基本类型

(3)堆:用于存放所有的java对象,在这里进行存储分配和清理可能比在堆栈进行 需要更多时间

(4)常量值通常直接放在程序代码内部。但java里常量字符串放在字符串池(在方法区)

(5)持久化,程序之外的地方

3.基本类型位于堆栈

4.java每种基本类型所占存储空间大小(不随平台而改变),8bit是一个字节

基本类型 大小
char 16bit(2个字节)
byte 8bit(1个字节)
short 16bit(2个字节)
int 32bit(4个字节)
long 64bit(8个字节)
float 32bit(4个字节)
double 64bit(8个字节)
boolean -
void -

boolean大小没明确指定,仅定义为能取字面值true或false

5.java会确保数组初始化(源码里..以少量内存开销及运行时的下标检查为代价换来安全和效率的提升)

6.java神奇之处,有个垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再引用的对象,随后释放这些内存空间。

7.类的基本数据成员会默认初始化

基本类型 默认值
boolean false
char ‘\u0000’(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
8. 方法名和参数列表(它们合起来被称为”方法签名”)唯一的标识出某个方法. 

9.java.lang这个包是默认导入所有java文件的