分析如下代码的内存结构情况(从main方法开始分析)输入结果为什么是1234567

public class Test{
public static void main(String[] args){
Date date = new Date(1234567);
m1(date);
System.out.println(date.getTime());
}
public static void m1(Date date){
date = null;
}
}

Date date = new Date(1234567); 在堆上开辟一个空间存储一个Date的对象,并且指向date
m1(date);
作为形参的date是实参(主程序中的)date的一个拷贝,但是指向同样的Date对象
date = null;,形参的这个引用指向null,此时实参的date还是指向原来的对象,而这个对象本身又没有修改
System.out.println(date.getTime()); 还是原来的输出