java内存管理解析

虾米哥 阅读:328 2020-09-30 21:39:00 评论:0

由JVM进行管理
一、堆
1、存储所有new出来的对象,包含成员变量;
2、没有任何引用指向的对象就是垃圾;垃圾回收器不定时清理垃圾;回收过程是透明的;可调用System.gc(),建议GC尽快来回收。
3、成员变量的生命周期:创建对象时,存储在堆中,对象被回收时,成员变量一并被回收;建议对象不再使用时,及时将引用置为null;
二、栈
1、用于存储正在调用中的方法的所有局部变量,包含参数;
2、调用方法时在栈中为该方法分配一块对应的栈帧,栈帧中存储的是方法中的所有局部变量(包含参数),方法调用结束时,栈帧被清除,局部变量一并被清除;
3、局部变量的生命周期:调用方法时,局部变量被加载在栈中,方法调用结束时,栈帧中一起被清除;
三、方法区
1、用于存储.class字节码文件,包括方法
2、方法只有一份,对象在调用方法时,通过this指针来区分具体的对象。

标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们