zoukankan      html  css  js  c++  java
  • JVM垃圾收集简介

    当JVM自动垃圾回收成为JVM的瓶颈时,就需要进行合理的配置参数进行垃圾回收。

    常用的垃圾回收的算法:引用计数法,根搜索算法。

    引用计数法:到引用指向堆中创建的对象的时候,引用计数加1,取消指向的时候,引用技术减1。但是存在对象引用互相指向的情况,这样垃圾不能回收,即使对象没有引用指向,这是的引用计数器仍然是1.

    根搜索算法: 当对象到GC Roots没有引用链相连,代表 这个对象可以被垃圾回收。

    垃圾回收算法:标记清除法,复制算法,标记-整理算法,分代垃圾回收算法。

    标记清除算法:标记出需要清除的对象,在标记完成之后统一清除掉这些对象。存在的问题:效率不是很高  容易在堆中产生碎片。

    复制算法:在商业的虚拟机中,把堆中的内存分为Eden和两个Survivor,每次使用一个Eden和一个Survivor,当需要垃圾回收时,把Eden和Survivor中存活的对象复制到一个Survivor空间上,清理掉Eden和Survivor上的死亡了的对象。

    标记-整理算法:将所有的存活的对象往一端移动,清理掉端之外的对象。

    垃圾收集器:Serial收集器,ParNew收集器,Parallel Scavenge收集器 ,Serial Old收集器,Parallel Old收集器,CMS收集器,GI收集器

    Serial收集器:单线程的收集器,简单而高效。

    ParNew收集器:多线程的新生代垃圾收集器

    Parallel Scavenge收集器:使用复制算法,多线程,新生代,可控吞吐量适合后台运算的垃圾收集器。

    Serial Old收集器:使用标记-整理算法单线程的老年垃圾收集器。

    Parallel Old收集器:使用标记-整理算法多线程的老年垃圾收集器。

    CMS收集器:并发收集,低停顿的垃圾收集器,使用标记清除算法。具有标记整理算法的缺点。

    GI收集器:基于标记整理算法,可以很好的控制停顿,对垃圾回收具有优先级别。

    内存分配策略:对象 优先在 Eden上分配,大对象直接进入老年代,长期存活的对象进入老年代 ,动态年龄判定。

  • 相关阅读:
    中国内地、台湾、香港、澳门和国外DNS服务器地址列表
    科学、道法、哲学
    Away 3d 基本属性
    away 3d的一些问题
    Adobe Flash CC 2014 下载及破解
    html5结合flash实现视频文件在所有主流浏览器兼容播放
    Html wmode 标签参数详解
    九宫格
    flash/flex 编译错误汇总
    Redis在windows下安装过程(转)
  • 原文地址:https://www.cnblogs.com/hds-study-blogs/p/6656193.html
Copyright © 2011-2022 走看看