JVM---内存分配策略
来源:互联网 发布:java怎么写日志 编辑:程序博客网 时间:2024/06/05 07:44
普遍的内存分配规则
1.对象优先在Eden区分配,当Eden区没有足够空间时,将发起一次Minor GC。
新生代GC(Minor GC):指发生在新生代的垃圾收集动作,非常频繁,回收速度也较快。
老年代GC(Major GC/Full GC): 指发生在老年代的GC,经常伴随至少一次的Minor GC,速度比Minor GC慢10倍以上
2.大对象直接进入老年代
所谓大对象是指,需要大量连续内存空间的java对象,最典型的就是很长的字符串以及数组,
3.长期存活的对象进入老年代
虚拟机给每个对象定义一个对象年龄计数器。如果对象在Eden出生并经过第一次Minor GC后依然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,然后对象年龄设为1,对象在Survivor区中每熬过一次Minor GC,年龄就增加1,当年龄增加到一定程度时(默认为15),就会晋级老年代。
4.动态对象年龄判定。
5.空间分配担保。
在发生Minor GC前,虚拟机会先检查老年代最大可用的连续空间是否大于新手代所有对象总空间,若成立则Minor GC。 若不成立,则虚拟机会查看HandlePromotionFailure设置值是否允许担保失败,若允许,那么继续检查老年代最大可用连续空间是否大于历次晋升到老年代对象的平均大小,若大于,将尝试进行一次Minor GC ;若小于,或者不允许担保失败,那么这是要改为Full GC。
阅读全文
0 0
- JVM > 内存分配策略
- JVM内存分配策略
- JVM---内存分配策略
- JVM 内存分配策略
- JVM中的内存分配策略
- JVM内存结构及内存分配策略
- java jvm 内存分配和回收策略
- JVM(二)内存分配和回收策略
- JVM内存分配与回收策略
- JVM-内存分配与回收策略
- JVM虚拟机-内存分配与回收策略
- JVM垃圾回收及内存分配策略
- JVM-内存分配与回收策略
- JVM内存分配与回收策略
- JVM垃圾回收和内存分配策略
- JVM对象引用与内存分配策略
- JVM内存分配和垃圾回收策略
- JVM对象引用与内存分配策略
- Struts2 搭建开发环境
- 日期
- if switch do while for分析
- JNI中javah命令的使用,生成.h的头文件
- Java线程如何实现同步?
- JVM---内存分配策略
- bzoj 3798: 特殊的质数(分块打表)
- Redux源码分析之基本概念
- CNN数值初始化——xavier
- Drools学习资料汇总
- Android动态权限
- 利用吸收态马尔科夫链进行基于超像素分割的目标跟踪【Superpixel-based Tracking-by-Segmentation using Markov Chains】
- thinkphp分页处理
- 移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)