堆
1.1)存储new出来的对象(包括成员变量)
1.2)成员变量的生命周期(new对象时存在,对象被回收时消失)
1.3)没有任何引用所指向的对象即为垃圾(垃圾回收器GC不定时内存中,看到垃圾则自动回收)
1.4)垃圾回收的过程是透明的,不一定看到后马上回收(想快一些可以调用System.gc(),但是并不能马上回收还是要等待GC自己回收)
1.5)内存泄漏:不再使用的对象没有被及时的回收(建议:不再使用的对象及时将引用设置为null)栈
2.1)存储正在使用的局部变量
2.2)调用方法时,在栈中为该方法分配一块对应的栈帧(栈帧中存储方法的局部变量,包括参数,当方法调用结束时,栈帧被消除,局部变量一并消失)
2.3)局部变量的生命周期(方法被调用时存在,方法结束, 栈帧被消除时消失)方法区
3.1)存储类的字节码文件(包括方法)
3.2)方法只有一份,通过this来区分具体的对象
java内存管理-个人总结
最新推荐文章于 2021-02-20 09:05:56 发布
本文详细介绍了Java中的三种主要内存区域:堆、栈和方法区。堆用于存储new出来的对象及成员变量;栈负责存储局部变量,并在方法调用时创建栈帧;方法区则存放类的字节码文件。此外,还解释了各区域中对象或变量的生命周期及垃圾回收机制。
757

被折叠的 条评论
为什么被折叠?



