IT源码网

java内存管理讲解

itxm 2020年09月30日 编程语言 255 0

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

发布评论

分享到:

IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

单例模式的几种实现方式讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。