第二章 一切皆是对象
2.1 引用操作对象
安全起见,创建引用的同时将其初始化。
String s=new String("asdf");
new操作创建了新的字符串对象,s为此对象的引用
2.2 必须由你创建所有对象
2.2.1 6个数据存储区
寄存器:存在CPU内部,资源有限由编译器按需分配,速度最快。
堆栈:位于通用RAM中,“堆栈指针”向下移动则分配新内存,向上移动则释放内存,但java编译器必须知道其中所有数据的大小和生命周期,速度仅次于寄存器,基本数据类型和引用存放在此。
堆:位于RAM区,用于存放所有java对象,编译器不用知道数据大小和生命周期
静态存储:位于RAM区,静态存储存放程序运行一直存在的数据
常量存储:数据内容永远不会改变
非RAM存储:完全存活在程序之外,不受程序的任何控制
2.2.2 9种基本类型
高精度数字BigInteger和BigDecimal分别封装了int和float操作
2.2.3 Java的数组
int a[]=new int[3];//形如创建数组
2.3 永远不要销毁对象
作用域:对象能被使用的空间
生命周期:内存中保存时间
类数据:作为整个类存在 Demo.d,只有一份存储空间,改变所有对象可见
类方法:作为整个类存在Demo.f(),只有一份存储空间
2.4编码风格
类名首字母大写,采用驼峰命名
String s=new String("asdf");
new操作创建了新的字符串对象,s为此对象的引用
2.2 必须由你创建所有对象
2.2.1 6个数据存储区
寄存器:存在CPU内部,资源有限由编译器按需分配,速度最快。
堆栈:位于通用RAM中,“堆栈指针”向下移动则分配新内存,向上移动则释放内存,但java编译器必须知道其中所有数据的大小和生命周期,速度仅次于寄存器,基本数据类型和引用存放在此。
堆:位于RAM区,用于存放所有java对象,编译器不用知道数据大小和生命周期
静态存储:位于RAM区,静态存储存放程序运行一直存在的数据
常量存储:数据内容永远不会改变
非RAM存储:完全存活在程序之外,不受程序的任何控制
2.2.2 9种基本类型
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
boolean | - | - | - | Boolean |
char | 16-bit | Unicode0 |
Unicode 216-1 | Character |
byte | 8-bit | -128 | +127 | Byte |
short | 16-bit | -215 |
+215-1 | Short |
int | 32-bit |
-231 |
+231-1 | Integer |
long | 64-bit |
-263 |
+263-1 | Long |
float | 32-bit | IEEE754 | IEEE754 | Float |
double | 64-bit | IEEE754 | IEEE754 | Double |
void | - | - | - | Void |
高精度数字BigInteger和BigDecimal分别封装了int和float操作
2.2.3 Java的数组
int a[]=new int[3];//形如创建数组
2.3 永远不要销毁对象
作用域:对象能被使用的空间
生命周期:内存中保存时间
类数据:作为整个类存在 Demo.d,只有一份存储空间,改变所有对象可见
类方法:作为整个类存在Demo.f(),只有一份存储空间
2.4编码风格
类名首字母大写,采用驼峰命名