常量存储。常量值常常放在代码内部,这样做是安全的,因为这样可以保证不被改变。在嵌入式系统中,常量会与程序分开存放,这时,常量往往存储在 ROM 中。
2.2.2 特例:基本类型
这些类型之所以特殊,是因为一般的变量使用关键字 new 创建后,会存储在堆(malloc)中,所以用 new 创建小的,简单的变量不是很高效。所以,对于这些类型,java 存储其在堆栈中,更加高效。
类型包括:boolean / Boolean, char / Character, byte / Byte, short / Short, int / Integer, long / Long, float / Float, double / Double, void / Void.
高精度数字:Java 提供了两个高精度计算类:BigInteger 和 BigDecimal。
2.2.3 Java 中的数组
2.3 永远不需要销毁对象
2.3.1 作用域
2.3.2 对象的作用域
Java 对象不具备和基本类型一样的生命周期,当用 new 创建一个 java 对象时,它可以存活于作用域之外,所以加入你采用代码。引用 s 在作用域终点就消失了,然而,s指向的 string 对象仍然占据内存空间。在这一小段代码之后,我们无法在这个作用域之后访问这个对象,因为它唯一的引用已经超出了作用域的范围。
Java 存在一个内存回收器
{
String s = new String("a string");
} // end of scope