java数据即可以存放在栈中,也可以存放在堆中。
数值型的数据,存放在堆中,对象型数据存放在堆中。
方法需要进栈,然后在栈中,为变量开辟空间,方法执行完之后,弹栈也叫出栈。如果new一个对象,则在堆中新建开辟空间。
在栈中,数据的赋值,是把引用,地址在栈中,修改值,引用修改。a=4; a=3; 引用被修改
在堆中,Student a =new Student();在堆中开辟空间0x0023。 a在栈中,引用指向0x0023
Student B =new Student(); 在堆中,重新开辟空间0x0056 。B在栈中,引用指向0x0056.
Student c =a; c在栈中,引用和a的引用相同,指向0x0023.