1. 数据类型的值传递
基本数据类型的值传递,不改变原值,因为调用后就会弹栈,局部变量随之消失
引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问.
2. 两个对象内存图
方法区:代码仓库,字节码文件(class)加载到内存时,会被加载到方法区
栈区:main方法,执行函数,执行方法会在栈区,局部变量会在栈区
堆区:实体对象存放堆区,如果没有任何引用指向一个对象,该对象会在不定时被回收
基本数据类型的值传递,不改变原值,因为调用后就会弹栈,局部变量随之消失
引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问.
方法区:代码仓库,字节码文件(class)加载到内存时,会被加载到方法区
栈区:main方法,执行函数,执行方法会在栈区,局部变量会在栈区
堆区:实体对象存放堆区,如果没有任何引用指向一个对象,该对象会在不定时被回收