博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 内存回收(GC)的方式
阅读量:4682 次
发布时间:2019-06-09

本文共 503 字,大约阅读时间需要 1 分钟。

java内存的管理其实就是对象内存的管理,其中包括对象的分配和释放

对应程序员来说分配对象使用new关键字,而释放一个对象只需要让它等于null,让程序不能再访问这个对象,这时对象是不可达的,GC负责回收不可达的对象。

当程序员创建一个对象时,GC就开始监控对象的大小、地址、使用情况。程序一般通过有向图的方式管理堆中的所有对象,通过这种方式确定哪些对象是可达的,哪些对象是不可达的。

 

由于在程序GC时程序会停止运行,用户可以感知,所以当GC运行时间过长的时候用户感知到程序停止运行,但是当GC运行时间过短,内存回收率会变低,表示大量内存没有被回收,程序仍然占用着大量内存,所以在设计GC的时候必须在停顿时间和回收率上做一个权衡。

1、增量式GC

通过一定的算法把一个长的中断划分为多个小的中断,减少GC对用户程序的影响;将堆中的所有对象按照创建和使用进行分组,将使用频率较高和相关的对象分在一组,随着程序的运行不断对分组进行调整,当GC运行时它总是回收最近最少访问的对象,如果整组都为可回收对象,那么整组回收

转载于:https://www.cnblogs.com/hy87/p/6231266.html

你可能感兴趣的文章
Qt实现半透明遮罩效果
查看>>
erlang调优方法
查看>>
Mysql linux -N命令
查看>>
daily scrum 12.5
查看>>
linux-ftp install
查看>>
NetXray
查看>>
局域网基本工作原理
查看>>
让历史告诉我们未来
查看>>
UVa540 Team Queue
查看>>
android 练习之路 (八)
查看>>
tp5 中 model 的聚合查询
查看>>
android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications...
查看>>
压缩文件函数库(转载)
查看>>
【转】ubuntu12.04没有/var/log/messages解决
查看>>
Oracle EBS 初始化用户密码
查看>>
SYS_CONTEXT 详细用法
查看>>
Pycharm配置autopep8让Python代码更符合pep8规范
查看>>
函数的复写
查看>>
17_重入锁ReentrantLock
查看>>
winform窗口关闭提示
查看>>