1、对象是由引用进行操纵的;
2、程序运行时,对象的存储:
a.寄存器,最快的存储区,位于处理器内部,按需分配,无法直接控制,在程序中也不可感知;
b.堆栈,位于通用RAM(随机访问存储器),通过堆栈指针可以从处理器获得直接支持,java对象引用则存储在这里;
c.堆,一种通用内存池(也位于RAM区),用于存放所有的java对象。分配和清理会比用堆栈更耗时;
d.常量存储,通常直接存储在程序代码内部。在嵌入式系统中,常量本身会和其他部分分隔开,此时可以选择将其存放在ROM(只读存储器)
e.非RAM存储,数据可以完全存活于程序之外,比如“流对象”和“持久化对象”
3、基本数据类型变量直接存储“值”,并且置于堆栈中,更加高效;
4、基本数据类型大小固定,让其更具有可移植性,不会更加机器硬件架构变化而变化;
a.boolean类型没有指定明确大小,仅定义为能够取字面值true或false,包装器类型Boolean;
b.char类型大小为16-bit,包装器类型Character;
c.byte类型大小为8 bits,包装器类型Byte;
d.short类型大小为16 bits,包装器类型Short;
e.int类型大小为32 bits,包装器类型Integer;
f.long类型大小为64 bits,包装器类型Long;
g.float类型大小为32 bits,包装器类型Float;
h.double类型大小为64 bits,包装器类型Double;
5、BigInteger支持任意精度的整数,BigDecimal支持任意精度的定点数。可以用它来进行精准的货币计算;
6、java不需要手动销毁对象;
7、类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值。然而“局部变量”必须初始化,不然会编译出错;
8、包名必须小写,建议用域名反转来划分;
9、static字段对每个类来说都有一份存储空间,而非static字段则是对每个对象都有一份存储空间;
10、类名首字母要大写,如果由多个单词组成,则使用驼峰式风格命名。