1.值类型变量存储和引用类型变量存储在内存存储的比较
栈:所用的变量都在栈中定义。
对象区:使用new创建的对象存储位置。
方法区:存储类的字节码数据。
内部过程1-3分别代表:
1.将类的字节码加载到方法区,相当于模板作用。
2.通过new关键字创建Student对象在对象区,并为对象的属性赋值。
3.定义特定类型的变量在栈中,存储在对象区的对象的地址。
2.static(静态变量)在jvm内存中的运行过程
4代表的是如何修改static语句内容:
在由s1修改静态变量xx的值时,会根据存储的地址找到对象发现没有xx,会继续向上追溯,进行修改xx的值。因为静态变量是直接与类关联,在方法区储存,在内存中只有一份,被所有对象共享结果。所以s1改变了xx的值后,s2内关于xx的也会相应变化。