123456

5555444

对象的存储与基本类型

1. 寄存器:位于处理器内部,大小有限,不能直接控制。

2. 堆栈:位于RAM中,通过堆栈指针可以从处理器那时获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。快速有效,仅次于寄存器。但创建程序时,java系统必须知道存储在堆栈内所有项数据的确切生命周期,以便上下移动堆栈指针。主要是对象引用存储在堆栈中,但java对象并不存储在其中。

3. 堆:位于RAM中,用于存放所有的java对象。堆不同于堆栈,编译器不需要知道存储的数据在堆里存放多长时间。因此,在堆里分配存储有很大的灵活性。当new一个里,会自动在堆里进行存储分配。但用堆存储分配和清理可能比用堆栈需要更多的时候。

4. 常量存储:常量值通常直接放在程序代码内部。

5. 非RAM存储:流对象和持久化对象。


另外,在经常用的基本类型有:boolean,char,byte,short,int,long,float,double,void,它们对应的包装器类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double,Void。基本类型具有包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型。

高精度数字:java提供了两个用于高精度计算的类,BigInteger和BigDecimal,二者没有对应的基本类型。它们与基本类型的所能执行的操作相似,但过程要较之复杂,运算速度会比较慢。BigInteger支持任意糖度的整数,BigDecimal支持任何精度的定点数。

评论

热度(6)