JVM 分三个区:
- 栈 stack: 存基础数据类型(如 int i = 1);对象的引用(对象的地址)
- 堆 heap:存所有的对象(包括自己定义的对象和字符串对象)
- 方法区 method :所有的 class 和 static 变量
见下图示意:
说明:
从 JVM 的内存模型可以看出:
1)基本数据类型作为参数传递时,传的是数值,不会改变原值;
2)对象作为参数传递时,传的是对象的地址,原值可以被改变。
JVM 分三个区:
见下图示意:
说明:
从 JVM 的内存模型可以看出:
1)基本数据类型作为参数传递时,传的是数值,不会改变原值;
2)对象作为参数传递时,传的是对象的地址,原值可以被改变。