文章目录
先说结论 变量 中值的变化,是变量指向不同的地址 即不会覆盖原来的数 ,而是在栈中查找有没有变化的数,有直接指向他,没有就新开空间存放新的这个数
Java中的数据类型有两种:一种是基本类型(primitivetypes),共有8种,即int,short,long,byte,float,double,boolean,char(注意,并没有string的基本类型)。一种是引用类型
一种是基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char(注意,并没有string的基本类型)。这种类型的定义是通过诸如int a = 3; long b = 255L;的形式来定义的,称为自动变量。值得注意的是,自动变量存的是字面值,不是类的实例,即不是类的引用,这里并没有类的存在。
变量实际存贮地址
如int a = 3; 这里的a是一个指向int类型的引用,指向3这个字面值。这些字面值的数据,由于大小可知,生存期可知(这些字面值固定定义在某个程序块里面,程序块退出后,字段值就消失了),出于追求速度的原因,就存在于栈中。
另外,栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:
int a = 3
int b = 3;
a =4
<