JAVA存储

  1. 寄存器

        位于处理器内部,处理器按需分配,java无法控制

  2. 堆栈

         位于RAM区,创建程序时,需要知道存储在堆栈内所有项的确切生命周期。

  3. 堆

         位于RAM区,编译器不需要存储的数据在堆中存活时间。这种灵活性在存储分配及清理时会付出一定代价

  4. 常量存储

         存储与程序代码内部,嵌入式系统可以选择处于ROM中

  5. 非RAM存储

        独立与程序之外,如流对象和持久化对象


基本类型

        基本类型,一般为特别小,简单的变量。如果使用new创建,并存于堆中,效率较低下。故基本变量直接存值,并置于栈中,因此更加高效。

基本类型
大小包装器类型
boolean-Boolean
byte8bitsByte
char16-bitCharacter
short16bitsShort
int32bitsInteger
long64bitsLong
float32bitsFloat
double64bitsDouble
void-Void

对象作用域

    对象的引用超出作用域后,将无法通过引用访问对象,但对象还是存在于堆中,最终的命运是等待GC回收。

类的字段初始值

    当类的字段为基本类型时,字段未被初始化,java也会为期赋予初始值。具体如下表:

booleanfalse
char'\u0000'(null)
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d