虚拟机3.6 内存分配与回收策略
来源:互联网 发布:购买域名后怎么备案 编辑:程序博客网 时间:2024/05/16 06:39
对象主要分配在Eden区,如启用TLAB,将优先在TLAB分配。
3.6.1 对象优先在Eden分配
如果Eden区没有足够空间,则发起一次Minor GC.
-XX:+PrintGCDetails 可设置打印手机日志参数。
3.6.2 大对象直接进入老年代
大对象:很长的字符串或数组。尽量避免大对象和短命大对象
-XX:PretenureSizeThreshold参数 设置 多大的对象直接分配在老年代。避免Eden区和两个Survivor区频繁复制(新生代采取整理-复制收集内存)。
3.6.3长期存活的对象进入老年代
每个对象有一个age计数器,每经过一次Minior GC ,age+1,默认15岁进入老年代。晋升岁数设置参数:+XX:MaxTenuringThreshold.
3.6.4 动态对象年龄判定
如果Survivor空间中,相同年龄对象占该空间超过一半,则所有≥这大部分对象年龄的将进入直接老年代.
3.6.5 空间分配担保
jdk6及之前:有担保一说
在Minior GC前,虚拟机需要检查老年代最大可用连续空间是否大于新生代所有对象总空间,如果大于,则OK,否则需要看HandlePromotionFailure设置值是否允许担保失败。如果不担保,则进行full gc,如担保,则check if(当前老年代空间>根据历次晋升到老年代对象的平均大小), then Minior GC。
在jdk7往后,空间分配担保一定是有的。
阅读全文
0 0
- 虚拟机3.6 内存分配与回收策略
- JVM虚拟机-内存分配与回收策略
- java虚拟机-内存分配与回收策略
- 虚拟机学习系列 - 5 - 内存分配与回收策略
- 深入理解Java虚拟机笔记---内存分配与回收策略
- 深入理解java虚拟机-3 内存分配与回收策略
- 深入理解Java虚拟机笔记---内存分配与回收策略
- Java虚拟机(三):内存分配与回收策略
- 深入理解java虚拟机-内存分配与回收策略
- 3.6 内存分配与回收策略
- 3.6 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- 内存分配与回收策略
- QNX系统中添加自己编译的.so库
- GalaxyOJ-1015 (思维)
- spark sql 优化
- c++动态内存管理的相关知识
- PAT甲级 1040. Longest Symmetric String (25)
- 虚拟机3.6 内存分配与回收策略
- 腾讯AR开放平台今日正式开放,提供识别、追踪、展现等多项能力
- Python For Kids学习笔记01:安装与配置python
- maven(七)仓库
- Apache Storm学习笔记二:基本概念
- 虚幻引擎学习之路:渲染模块之光照系统
- 设置html的根rem(随窗口改变自动调整)
- 使用Fiddler抓取手机应用数据接口(Android和ios)
- Math 类BigDecimal 类型