深入理解Java虚拟机 -- 读书笔记(4):内存分配策略
2013-03-04 00:06
288 查看
本系列为《深入理解Java虚拟机 》(周志明著)读书笔记
VM的内存分配机制大致遵循这几个原则:
对象优先在Eden分配
大多数情况下,对象中新生代的Eden区分配。当Eden区没有足够的内存时,JVM将发起一次Minor GC。
大对象直接进入老年代
这里的大对象指需要大量连续内存空间的对象,最典型的就是很长的字符串和各种数组。虚拟机提供了一个-XX:PretenureSizeThreshhold参数,令大于这个值的对象直接进入老年代。
长期存活的对象进入老年代
JVM给每个对象定义了一个年龄(Age)计数器。如果对象中Eden出生并且经历一次Minor GC后仍然存活,并能被Survivor接纳的话,此对象将被移动到Survivor空间中,并将年龄设为1。对象在Survivor中每经历一次Minor GC,其年龄将增加1。当对象到达一定年龄时(默认为15),就会被晋升到老年代中。这个界限可以通过-XX:MaxTenuringThreshold来设置。
VM的内存分配机制大致遵循这几个原则:
对象优先在Eden分配
大多数情况下,对象中新生代的Eden区分配。当Eden区没有足够的内存时,JVM将发起一次Minor GC。
大对象直接进入老年代
这里的大对象指需要大量连续内存空间的对象,最典型的就是很长的字符串和各种数组。虚拟机提供了一个-XX:PretenureSizeThreshhold参数,令大于这个值的对象直接进入老年代。
长期存活的对象进入老年代
JVM给每个对象定义了一个年龄(Age)计数器。如果对象中Eden出生并且经历一次Minor GC后仍然存活,并能被Survivor接纳的话,此对象将被移动到Survivor空间中,并将年龄设为1。对象在Survivor中每经历一次Minor GC,其年龄将增加1。当对象到达一定年龄时(默认为15),就会被晋升到老年代中。这个界限可以通过-XX:MaxTenuringThreshold来设置。
相关文章推荐
- 深入理解Java虚拟机 读书笔记 之 内存分配策略与GC之间的亲密关系
- 【2】深入理解java虚拟机 内存分配和回收策略
- 深入理解Java虚拟机----(三)内存分配策略和垃圾收集器
- 深入理解java虚拟机-内存分配与回收策略
- 深入理解java虚拟机----->垃圾收集器与内存分配策略(下)
- 深入理解Java 虚拟机读书笔记--第三章 垃圾收集器与内存分配策略
- 深入理解Java虚拟机-3垃圾收集器与内存分配策略
- 深入理解Java虚拟机----第3章 垃圾收集器与内存分配策略
- [深入理解Java虚拟机]第三章 内存分配与回收策略
- 深入理解java虚拟机----->垃圾收集器与内存分配策略(上)
- 深入理解Java虚拟机-垃圾收集器与内存分配策略
- 深入理解java虚拟机-3 内存分配与回收策略
- 【深入理解JAVA虚拟机】之垃圾收集器与内存分配策略
- 深入理解JVM(第三章 垃圾回收器与内存分配策略)
- 【Java面试整理之JVM】深入理解JVM结构、类加载机制、垃圾回收GC原理、JVM内存分配策略、JVM内存泄露和溢出
- 深入理解JVM:垃圾收集器与内存分配策略
- [课本划重点]深入理解jvm-第3章 垃圾收集器与内存分配策略(3)
- 深入理解 JVM 系列:内存分配与回收策略
- 【深入理解JVM】:内存分配与回收策略
- 深入理解Java虚拟机笔记---内存分配与回收策略