Java程序有5个不同的地方可以存储数据,分别是寄存器、堆栈、堆、常量存储、非RAM存储。(Java编程思想)
寄存器:最快的存储区,位于处理器内部,无法直接控制。 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针的移动来分配新的内存(堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存),注意对象的引用存储于堆栈中。 堆:一种通用的内存池(也位于RAM区),用于存放所有的Java对象。注意:堆栈和堆是不同的,不要把两者混为一谈。当需要一个对象时,只需用new写一行代码,当执行这行代码时,会自动在堆中进行存储分配。使用new将对象存储在“堆”里,但对于“小的、简单的”变量,不是很有效。故不用new创建变量,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置于堆栈,这种基本类型有boolean,char,byte,short,int,long,float,double,void。