博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java gc机制
阅读量:7156 次
发布时间:2019-06-29

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

1、JVM的内存结构由堆、栈、本地方法栈、方法区等部分组成。

2、JVM分别对新生代和旧生代采用不同的垃圾回收机制。
3、所有通过new创建的对象的内存都在堆中分配。
4、堆被分为新生代和旧生代
5、新生代又被划分为Eden和Survivor区
6、Survivor油FromSpace 和 ToSpace组成。
7、新建的对象都用新生代分配内存,当Eden内存不足时,会把存活的对象转移到Servivor>中
8、新生代中经过多次垃圾回收仍然存活的对象转移到旧生代。
9、新生代采用Copying算法进行回收,即扫描出存活的对象并复制到一块完全未使用的空间
中,即在Eden和FromSpace或ToSpace之间copy,最后转移到旧生代。
10、旧生代与新生代不同,其中的对象存活时间较长,比较稳定,故采用标记(Mark)算法回
收。
11、标记算法:扫描出存活对象并标记,然后回收未被标记的对象。
12、回收后的碎片空间要么进行合并,要么标记出来便于下次分配,总之要减少内存碎片带
来的效率损耗。

 

参考文章:

转载地址:http://xsegl.baihongyu.com/

你可能感兴趣的文章
用Gvim建立IDE编程环境 (Windows篇)_Nothing is impossible for a willing heart._百度空间...
查看>>
Chrome 插件
查看>>
c++的重载,覆盖与隐藏
查看>>
大数据的三个入口
查看>>
void指针
查看>>
hackerrank-knapsack
查看>>
Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向...
查看>>
hive load from hdfs出错
查看>>
IOS开发:xcode5版本引发的问题
查看>>
asp.net 负载均衡下session存储的解决方法
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序
查看>>
领域驱动开发推荐代码示例 — Microsoft NLayerApp
查看>>
Linux 安装Rsync和配置
查看>>
hadoop fs -mkdir testdata错误 提示No such file or directory
查看>>
zebra路由软件使用大全
查看>>
PostgreSQL security - don't use password method in pg_hba.conf
查看>>
RDS MySql支持online ddl
查看>>
在Hudson中,使用ant自动对安卓项目编译打包apk
查看>>
【JSP开发】利用request获取各种值
查看>>
Vue全家桶web端社区项目
查看>>