Java虚拟机学习(7):对象内存分配与回收
来源:互联网 发布:打车软件不合法 编辑:程序博客网 时间:2024/06/05 02:18
对象优先在Eden上分配
大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。
大对象直接进入老年代
所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:PretenureSizeThreshold参数,令大于这个值的对象直接在老年代中分配。
长期存活的对象将进入老年代
虚拟机采用分代收集的思想管理内存,那内存回收时就必须能识别那些对象该放到新生代,那些该到老年代中。为了做到这点,虚拟机为每个对象定义了一个对象年龄Age,每经过一次新生代GC后任然存活,将对象的年龄Age增加1岁,当年龄到一定程度(默认为15)时,将会被晋升到老年代中,对象晋升老年代的年龄限定值,可通过-XX:MaxTenuringThreshold来设置。
Minor GC 和Full GC区别
新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为对象大多都具备朝生夕灭特性,所以Minor GC非常频繁,回收速度也比较快。
老年代GC(Major GC / Full GC):指发生在老年代中的GC,出现Major GC后,经常会伴随至少一次的 Minor GC。Major GC的速度一般会比Minor GC慢10倍以上。
本系列:
- Java虚拟机学习(1):体系结构 内存模型
- Java虚拟机学习(2):垃圾收集算法
- Java虚拟机学习(3): 类加载机制
- Java虚拟机学习(4):JDK可视化监控工具
- Java虚拟机学习(5):内存调优
- Java虚拟机学习(6):对象访问
- Java虚拟机学习(7):对象内存分配与回收
from: http://www.importnew.com/22251.html
0 0
- Java虚拟机学习(7):对象内存分配与回收
- Java虚拟机学习(7):对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机学习 - 对象内存分配与回收
- Java虚拟机 - 对象内存分配与回收
- JAVA虚拟机内存分配与回收机制
- JAVA虚拟机内存分配与回收机制
- JAVA虚拟机内存分配与回收机制
- JAVA虚拟机内存分配与回收机制
- Java虚拟机--垃圾回收与内存分配
- java虚拟机-内存分配与回收策略
- java虚拟机内存分配与垃圾回收
- JVM 虚拟机 (一) Java内存分配 划分与回收
- Java虚拟机学习(6):对象访问
- [01]项目实战-PC 端固定布局(1)
- Java NIO系列教程(二) Channel
- Sublime Text2安装SublimeCodeIntel
- 练习
- Java虚拟机学习(7):对象内存分配与回收
- GPGPU-Sim 源码阅读笔记 之 cache option默认策略
- android 学习笔记11-多媒体
- 设计模式之18 - 备忘录模式Memento
- Uva1572 Self-Assembly 【建立图论模型拓扑排序】【例题6-19】
- JFinal数据库配置
- xlog接入方案
- Stanford : cs106a 编程方法学课程 Karel程序 编译环境配置
- 57.贝赛尔曲线初步(二) - 高仿QQ未读消息气泡拖拽黏连效果