内存管理:由JVM管理
1)堆:存储new出来的对象(包括成员变量)
2)栈:存储局部变量(包括方法的参数)
3)方法区:存储.class字节码文件
示例:

引用类型和基本类型的内存过程

基本类型不能赋值为null
引用类型可以赋值为null //表示空,即什么也没有
null和NullPointerException
NullPointerException:空指针异常
null: 空,没有指向任何对象
若引用的值为null,则该引用不能在进行任何操作了
若操作,则发生NullPointerException空指针异常

引用类型之间画等号:eg---房子钥匙(相同的数据,房子只有一个)
1)指向同一个对象
2)通过一个引用对数据的修改会影响另一个引用对数据的访问
基本类型之间画等号: eg---身份证复印件(不同的数据,复印件数据改变原有数据不会变)
1)赋值
2)对一个变量的修改不会影响另一个

两边类型一致就可以赋值
引用之间画等号保留最后修改的值
网友评论