4:内存分析
1:栈,堆、共享区
2:Demo.class加载近共享区
1:Demo类的main方法进栈
2:Person p1=new Person();
1:Person.class 加载进方法区
2:堆内存开辟空间,实例变量进行默认初始化,显示初始化。
3:内存地址传给变量p1,栈和堆建立连接
3:person p2=new Person();
1:堆内存开辟空间,实例变量进行默认初始化,显示初始化。
2:内存地址传给变量p2,栈和堆建立连接
4:如果建立多个Person对象发现问题
1:每个对象都维护有国籍。
5:解决问题,内存优化
1:为了让所有Person对象都共享一个country ,可以尝试将country放入共享区。
2:country变量如何放入共享区?对象如何访问?
1:使用static
栈:方法(局部变量)
堆:对象(成员变量)
1 程序执行流程