java是用引用来操作对象的
第二章的重点呢 是在 第二节 存储到什么地方 :
有五个地方存储数据 :1.寄存器 2.堆栈 3.堆 4. 常量存储 5.非RAM存储
寄存器 :最快的存储区 它位于处理器内部 但数量有限 只能按需分配
堆栈 : 在随机访问存储器中 可以通过堆栈指针来从处理器 那里获得 直接支持 指针向下移动 分配新内存 向上移动 释放内存 所以
Java系统必须知道存储在 堆栈内所有项数据的生命周期 以便上下移动堆栈指针 限制了 程序的灵活性 所以虽然一些java数据存储在堆栈中---特别是对象引用 但是Java对象并不存储在其中;
堆 : 一种通用的内存池(也位于RAM区) 用于存放所有的java对象 编译器不需要知道存储的数据在堆里存活多长时间 因此在堆里分配有很大的灵活性。 当然用堆进行存储分配和清理可能要比堆栈花费更多的时间。
常量存储 :常量值通常存储在程序代码的内部 这样是安全的 因为常量永远不会改变
非RAM存储:如果数据存活在程序之外 那么它可以不受程序的任何控制 在程序不运行时也可以存在
高精度数字类 :Binginteger 大整数 BigDecimal 大浮点数
要记住java的作用域由花括号位置决定