GC(或Minor GC):收集 生命周期短的区域(Young area)。

Full GC (或Major GC):收集生命周期短的区域(Young area)和生命周期比较长的区域(Old area)对整个堆进行垃圾收集。

他们的收集算法不同,所以使用的时间也不同。

Minor GC后,Eden是空的吗?

是的,Minor GC会把Eden中的所有活的对象都移到Survivor区域中,如果Survivor区中放不下,那么剩下的活的对象就被移到Old generation 中。

GC 效率也会比较高,我们要尽量减少 Full GC 的次数。 当显示调用System.gc() 时,gc does a full collection(both young generation and tenured generation).

显式调用system.gc()会触发full gc,对象在Eden出生每经历一次MInor GC后仍然存活,并且能被Survivor容纳,就会被移动到Survivor,

并设定年龄为1.以后在Survivor每"熬过"一次Minor GC,年龄就增加一岁,当年龄超过一定值就被移动到老年代,MaxTenuringThreshold用于设置年龄阈值,但是如果Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,

年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到MaxTenuringThreshold中要求的年龄。

大对象直接进入老年代,比如长数组或长字符串,-XX:PretenureSizeThreshold用于设置大于这个值直接在老年代分配。

最新文章

  1. 7 -- Spring的基本用法 -- 1...2
  2. 怎样把excel的数据导入到sqlserver2000数据库中
  3. JS插件之——ztree
  4. LevelDB(v1.3) 源码阅读之 Slice
  5. python 练习购物车小程序
  6. printf("%*s\n", 1, ""); 使用"printf();" 的格式化输出动态制定等宽度输出。
  7. Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
  8. Android中this.*与*.this还有*.class的区别是什么?
  9. ThinkPHP实现跨模块调用操作方法概述
  10. 前端开发必备之MDN文档
  11. BZOJ 2938: [Poi2000]病毒 [AC自动机 拓扑排序]
  12. GraphQL 入门介绍
  13. .Net Core在Centos7上初体验
  14. recovery 升级过程LED灯闪烁
  15. DQN(Deep Reiforcement Learning) 发展历程(五)
  16. 【应用安全】微软的安全开发生命周期(SDL)
  17. SVM入门——线性分类器的求解,核函数
  18. extjs6需要引入文件
  19. kNN算法笔记
  20. QQ空间发表日志的图片上传功能实现

热门文章

  1. PostgreSQL SystemTap on Linux
  2. 大话大前端时代(一) —— Vue 与 iOS 的组件化
  3. Android App 隐藏标题栏+状态栏+导航栏
  4. weex 引导页(guide)页面
  5. css设置背景图片自适应
  6. 1.shell编程之变量的高级用法
  7. AppFuse 3的乱码问题
  8. 【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法
  9. javascript常用事件及方法
  10. diamond简介和使用