一级做a视频在线观看网站,wordpress默认自适应,威海网站建设威海,注册城乡规划师教材代码 代码解析
main方法执行#xff0c;创建栈帧并压栈。
int d8#xff0c;d为局部变量#xff0c;是基础类型#xff0c;它位于虚拟机栈的局部变量表中
然后创建了一个TestDemo的对象#xff0c;这个对象在堆中#xff0c;并且这个对象的成员变量#xff08;day创建栈帧并压栈。
int d8d为局部变量是基础类型它位于虚拟机栈的局部变量表中
然后创建了一个TestDemo的对象这个对象在堆中并且这个对象的成员变量daymonthyear也在堆中test为对象引用位于虚拟机栈的局部变量表中。
之后执行test.change(d)当调用change时会创建一个栈帧并且压栈然后i为局部变量位于虚拟机栈的局部变量表。当方法change执行完成后栈帧出栈i也就消失了该栈帧可以被回收。
之后执行BirthDate d1 new BirthDate(3,10,1996); d1为对象引用位于虚拟机栈的局部变量表中对象new BirthDate()存在堆中调用构造方法创建栈帧并压栈栈帧中的局部变量表存储了基础类型int的daymonthyear。而day,month,year为成员变量它们存储在堆中(new BirthDate()里面)。当BirthDate构造方法执行完之后栈帧出栈daymonthyear将从栈中消失栈帧可被回收。
当main方法执行完之后d变量testd1引用都在栈帧中栈帧出栈可被回收堆中的new Test(),new BirthDate()将等待垃圾回收。