对于基本类型,java采用与C,C++相同方法,这些并非引用的自动变量直接存储值,并置于堆栈中,注意堆栈即栈,不是堆空间;这些基本类型所占存储空间的大小,并不像其他大多数语言那样随机器硬件架构的变化而变化。
所有的数值类型都有正负号,java中没有无符号的数值类型。
boolean类型所占存储空间大小没有明确指定,仅定义为能够取字面值true或false。
java提供了两个用于高精度计算的包装类:BigInteger,BigDecimal,一般的基本类型都有对应的包装类,如int对应于包装类Interger,但是这两个包装类没有对应的基本类型。
在C,C++中使用数组很危险,因为C,C++中的数组就是内存块;java确保数组会被初始化,而且不能在它的范围之外被访问,这种范围检查是以每个数组上少量的内存开销及运行时的下标检查为代价的。
java对象不具备和基本类型一样的生命周期,当用new创建对象之后,它可以存活于作用域之外,这就涉及到堆内存和堆栈内存的存储方式问题了,堆内存中的对象在不使用时由垃圾收集器回收,而堆栈中的变量则是自动回收的