整理总结
1:用引用操纵对象
在java里,一切都被视作对象
。因此可用单一固定的语法的简介表示来操纵对象,但操纵的标识符实际是对象的引用。
引用并不一定要有一个对象与他关联,例如:String s;
这里创建的只是一个引用,而不是对象。
一般为了安全,会先初始化一个值。
2.1:存储的位置
程序运行时,对象是怎么进行放置安排的,内存是怎么分配的?
(1)寄存器。最快的存储区,位于处理器的内部。
(2)堆栈。位于通用RAM(随机访问存储器),速度仅次于寄存器,某些java数据存储在堆栈中,特别是对象引用,但java对象并不存在其中。
(3)堆。一种通用的内存池(也位于RAM区),用于存放所有java对象。其进行存储分配和清理所用时间比堆栈存储分配需要更多的时间。
(4)常量存储。常量值通常直接放在程序内部,这样是安全的,因为它永远不会被改变。
(5)非RAM存储。如流对象和持久化对象。
流对象是把对象转换成字节流发送给另一台机器;
持久化对象是将对象存放在磁盘上。
即使程序终止,他们仍可以保存自己的状态。
2.2
基本数据类型:
java不用new来创建基本数据类型对象,而是创建一个非引用的变量,直接存储值,并存放在堆栈中,更加高效。
![](https://img.haomeiwen.com/i11839159/663997a3e2ce8621.png)
所有数值类型都有正负号
包装器可以在堆中创建一个非基本对象,用来表示对应的基本类型
java提供了两个高精度计算的类:BigInteger和BigDecimal。它们大体属于包装器范畴,但没有对应的基本数据类型。
能作用于int或float的操作也通用作用于BigInteger或BigDecimal,以速度换取了精度。
/***************************************************************************************************************************************/
数组:
当创建一个数组对象时,实际上就是创建了一个引用数组,每个引用都会被初始化一个特定值null。
当创建一个基本数据类型数组时,特定值为0。
/*************************************************************************************************************************/
访问修饰符:
![](https://img.haomeiwen.com/i11839159/0a63394f216f56c7.png)
网友评论