内存管理
new 出来的都是放在堆里面的,这些都是变量
Student stu = new Student();
中的stu 是引用,存放在栈里面,引用的是堆里面变量的地址
常量池也是放在堆里面的
栈中存放
一些局部变量,和一些参数
使用栈帧存储
方法区存放
类的相关信息
方法的定义
静态变量
public class Demo2 {
String str = "hckj";
char[] ch = { 'a', 'b', 'c' };
public static void main(String[] args) {
Demo2 d = new Demo2();
d.change(d.str, d.ch);
System.out.println(d.str + "," + Arrays.toString(d.ch));
}
public void change(String str, char[] ch) {
str = new String("abc");
ch[0] = 'g';
}
}
输出:
change方法中的参数String str也是引用类型,和传过来的实参是指向同一块堆内的地址,在方法中更改了形参引用的地址,但没有改变实参的引用地址,所以在main方法中的输出没有发生改变
最后更新于