对象内存管理:
编译好的Java程序需要运行在JVM中程序,无论代码还是数据,都需要存储在内存中,JVM为Java程序提供和管理所需要的内存空间
JVM内存分为“堆”、“栈”和“方法区”三个区域,分别用于存储不同的数据。
JVM在七内存空间开辟一个称为“堆”的存储空间这部分空间用于存储使用new关键字所创建的对象。
1)堆:new出来的对象,(成员变量)1.1)成员变量的生命周期:从对象的创建开始,到对象被回收时消失。1.2)垃圾回收器回收的是没有任何引用的对象(不定时回收)用 System.gc();可以即刻回收垃圾。1.3)内存泄漏:没有用的对象没有被回收一直占用内存。建议没有用的对象及时将引用设置为null.2)栈:存放局部变量2.1)调用方法时,会为该方法在栈中分配一个对应的栈桢;一个栈桢对应一个正在调用的方法,栈桢中存储了该方法的参数、局部变量等数据,3)方法区:存放方法、类(.class)、静态变量(用static修饰的变量)
类只加载一次,也方法只有一份