JVM的内存区域和垃圾回收
2014-03-23 13:53
246 查看
JVM的内存区域 1.堆:程序在运行时创建的对象基本上都是在堆中分配的内存,堆里的内存又分为年轻代和年老代,年轻代默认又分为80%的一块区域和两个10%的区域,用于内存回收,当然这个比例是可以通过参数来调整的。 2.栈:栈其实可以分为两种,一种是虚拟机栈,就是启动线程时为线程帧栈分配的内存;一种是本地方法栈,就是为Native方法分配的内存。 3.方法区:JVM加载类信息、常量、静态变量等使用的内存区域,方法区也称为永久代。 4.直接内存区:直接内存区是属于JVM内存区域以外的区域,如NIO,为了提高效率,避免操作系统和JVM内存间的复制,可以通过ByteBuffer直接访问操作系统的内存。 JVM的垃圾回收 JVM的垃圾回收是通过垃圾收集器来实现的,不同的内存区域使用的垃圾收集器也不同,常用的垃圾收集器有年轻代单线程收集器、年轻代多线程收集器、老年代单线程收集器、老年代多线程收集器,CMS收集器。垃圾收集器的算法大致有标记清除法、标记整理法、标记复制法,一般年轻代主要用标记复制法,老年代主要用标记清除和标记整理法。
相关文章推荐
- JVM的内存区域划分以及垃圾回收机制详解
- Java内存区域分配、存储、垃圾回收策略与回收机制(深入JVM虚拟机)
- JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- JVM的内存区域划分以及垃圾回收机制详解
- 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- android Jvm 笔记。内存溢出。内存区域划分。垃圾回收气
- 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- java-JVM-【一】内存模型及垃圾回收算法
- 笔记:深入理解JVM 第3章 垃圾回收器与内存分配策略
- JVM内存模型及垃圾回收算法
- JVM内存模型及垃圾回收算法
- JVM内存模型以及垃圾回收
- JVM学习---JVM内存结构、垃圾回收
- JVM内存分配、垃圾回收、启动参数
- JVM内存模型&内存溢出&垃圾回收
- JVM 内存调优 ——Heap设定与垃圾回收
- JVM内存模型及垃圾回收机制
- JVM对象分代内存划分与垃圾回收
- Jvm内存区以及垃圾回收算法
- JVM 内存模型和垃圾回收(二): 串行垃圾回收器