栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM内存管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM内存管理

java虚拟机主要分为以下几个区:

1.堆:存储new出来的对象(包括实例变量)

2.栈:存储正在调用的方法中的局部变量(包括方法的参数)

3.方法区:存储.class字节码文件(包括静态变量、所有方法)

堆:

1)存储new出来的对象(包括实例变量)

2)垃圾:没有任何引用所指向的对象                

        垃圾回收器(GC)不定时到内存中清扫垃圾, 回收过程是透明的(看不到的),不一定一发现垃圾就立刻回收,通过调用System.gc()可以建议JVM尽快调度GC回收

3)实例变量的生命周期:创建(new)对象时存储在堆中,对象被回收时一并被回收

4)内存泄漏:不再使用的对象没有被及时的回收 严重的泄漏会导致系统的崩溃                

      建议:不再使用的对象应及时将引用设置为null

栈:

1)存储正在调用的方法中的局部变量(包括方法的参数)

2)调用方法时,会在栈中为该方法分配一块对应的栈帧, 栈帧中会存储局部变量(包括方法的参数),    方法调用结束时,栈帧被自动清除,局部变量一并被清除

3)局部变量的生命周期:调用方法时存储在栈中,方法调用结束时与栈帧一并被清除

方法区:

1)存储.class字节码文件(包括静态变量、所有方法)

2)方法只有一份,通过this来区分具体的访问对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号