顾名思义,java声明出来的东西就是数据。关于数据是如何存在哪里,我会在下面一一说明
1,寄存器(register)。在这里的数据处理时反应最快。是由编译器分配的。 2,栈(stack) java new出来的对象的引用放在栈中。原始数据类型(整型,浮点型等等)也存放在这里。 3,堆(heap) java new出来的对象存放在堆中。 举例:Student st1=new Student(); st1是对象的引用,它存放在栈中。可以把它理解为一个指针,指向所存放在堆中的对象。 而int,double,float等原始数据类型则存放在栈中。这是由于分配栈的速度比分配堆的速度快的多,而这些数据经常使用。 就这些,希望会对你有所帮助。
如图:
|