《Java编程思想》第二章读书笔记
2026/8/24大约 2 分钟
《Java编程思想》第二章:一切都是对象
理解 Java 对象的存储位置、基本类型、引用与生命周期,建立对 Java 内存模型的初步认识。
一、对象存放位置
| 存储区 | 特点 |
|---|---|
| 寄存器 | 处理器内部,最快但大小有限,无法直接控制 |
| 堆栈 | RAM 中,速度仅次于寄存器;栈指针移动分配/释放;Java 中只存对象引用 |
| 堆 | RAM 中的通用内存池,存放所有 Java 对象;编译器无需知道存活时间 |
| 常量存储 | 常量值直接放在程序代码内部,永不改变 |
| 非 RAM 存储 | 存活于程序之外,如持久化对象 |
JVM 两类存储区
- 常量缓冲池:类名称、方法名、字段名与字符串常量
- 方法区:Java 方法的字节码
字节码执行方式
- 即时编译(JIT):字节码编译为机器码再执行
- 解释执行:逐段解释执行
二、基本类型
void属于基本类型,但只能修饰方法- 数值运算自动提升规则:
| 场景 | 结果类型 |
|---|---|
| 操作数含 double | double |
| 操作数含 float | float |
| 操作数含 long | long |
| 其余(byte/short/int/char) | int |
- 高精度计算:
BigInteger(任意精度整数)、BigDecimal(任意精度定点数,适合货币计算)
三、引用与对象生命周期
- 引用在作用域结束时消失,对象由垃圾回收器回收(区别于 C++ 手动管理)
- Java 对象采用动态内存分配,都放在堆中
四、方法签名
- 方法签名 = 方法名 + 参数列表(不含返回类型),唯一标识一个方法
五、static 关键字
- static 字段:所有对象共享一份空间;非 static 字段每个对象各有一份
- static 方法:无需创建对象即可调用(
main()入口即依赖此特性)