两个最基本的java回收算法
2016-11-01 18:47
148 查看
两个最基本的java回收算法:复制算法和标记清理算法
复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
标记清理:一块区域,标记要回收的对象,然后回收,一定会出现碎片,那么引出
标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
两个概念:新生代和年老代
新生代:初始对象,生命周期短的
永久代:长时间存在的对象
整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
P.S:Serial New收集器是针对新生代的收集器,采用的是复制算法
Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法
Serial Old(串行)收集器,新生代采用复制,老年代采用标记清理
Parallel Old(并行)收集器,针对老年代,标记整理
CMS收集器,基于标记清理
G1收集器:整体上是基于标记清理,局部采用复制
综上:新生代基本采用复制算法,老年代采用标记整理算法。cms采用标记清理。
复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
标记清理:一块区域,标记要回收的对象,然后回收,一定会出现碎片,那么引出
标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
两个概念:新生代和年老代
新生代:初始对象,生命周期短的
永久代:长时间存在的对象
整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
P.S:Serial New收集器是针对新生代的收集器,采用的是复制算法
Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法
Serial Old(串行)收集器,新生代采用复制,老年代采用标记清理
Parallel Old(并行)收集器,针对老年代,标记整理
CMS收集器,基于标记清理
G1收集器:整体上是基于标记清理,局部采用复制
综上:新生代基本采用复制算法,老年代采用标记整理算法。cms采用标记清理。
相关文章推荐
- 两个最基本的java回收算法
- java基础—JVM的垃圾算法有哪几种?CMS垃圾回收的基本流程?
- java学习个人笔记---内存管理之垃圾回收基本算法
- java调优 学习:基本垃圾回收算法(2)
- Java基础之两个小算法
- Java内存管理-- GC(Garbage Collection)的基本概念 --Hotspot的分代回收
- 有必要澄清两个基本概念--算法和过程的关系以及关于程序设计方法论的一些看法
- JVM内存段分配,Java垃圾回收调优,Heap设定,Jvm内存回收算法
- java 垃圾回收机制和各种实现算法
- Java 垃圾回收算法
- Java内存管理-- GC(Garbage Collection)的基本概念 --Hotspot的分代回收
- JAVA垃圾回收机制的意义及其算法分析
- JVM学习笔记(1、 基本结构;2、Java代码编译和执行的整个过程3、内存管理和垃圾回收 4、 内存调优 )
- JVM调优总结(三)-基本垃圾回收算法
- JVM学习笔记(1、 基本结构;2、Java代码编译和执行的整个过程3、内存管理和垃圾回收 4、 内存调优 )
- Java的垃圾回收之算法
- java 垃圾回收 算法
- 有必要澄清两个基本概念--算法和过程的关系以及关于程序设计方法论的一些看法
- java垃圾回收算法一窥
- JVM调优总结-基本垃圾回收算法