虽然java是杂合语言,但是此书假设只进行面向对象的程序设计。
- 用引用操纵对象
将java的一切看成对象,使用引用操纵对象。 - 必须由你创建所有对象
使用new操作符创建对象。
2.1 五个存储数据的地方:
1)寄存器:最快(处理器内部)、数量有限。
2)堆栈:位于RAM中,使用堆栈指针管理(向上移动释放,向下移动分配)。对象引用以及基本类型处于此处。java系统必须知道存储在此的所有的确切生命周期,不够灵活。
3)堆:通用内存池(也位于RAM中),存放所有java对象。因为编译器不需要知道存储数据的生命周期,灵活性好,但清理和分配比堆栈需要更多时间。
4)常量存储:通常直接存放在程序代码中,或者ROM。
5)非RAM存储:将对象转化成可以存放在其他媒介上的事务:流对象或持久化。
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
---|---|---|---|---|
boolean | —— | —— | —— | Boolean |
char | 2 byte | Unicode o | Unicode 2^16-1 | Character |
byte | 8 bits | -128 | 128 | Byte |
short | 2 byte | -2^15 | 2^15-1 | Short |
int | 4 byte | -2^31 | 2^32-1 | Int |
long | 8 byte | -2^63 | 2^63-1 | Long |
float | 4 byte | IEEE754 | IEEE754 | Float |
double | 8 byte | IEEE754 | IEEE754 | Double |
void | —— | —— | —— | Void |
注:
1)关于最大值的求法可以看原码、补码、反码 详解
2)IEEE754
3)boolean类型所占存储空间没有明确指定,仅定义为能够取字面值true或false
高精度数字:BigInteger(任意精度的整数)和BigDecimal(任何精度的定点数)
- 永远不需要销毁对象
java中作用域由花括号的位置决定,作用域决定了在其内定义的变量名(引用)的可见性和生命周期,而对象可以存活在作用域之外。
java.lang默认导入到每个java文件中。
总结:
这章就象征性的讲了一下基础知识。