zoukankan      html  css  js  c++  java
  • java常见gc算法有哪些

    1:标记—清除(Mark-Sweep)
    过程:标记可回收对象,进行清除
    缺点:标记和清除效率低,清除后会产生内存碎片

    2:复制算法(Copy)
    过程:将内存划分为相等的两块,将存活的对象复制到另一块内存,把已经使用的内存清理掉
    缺点:使用的内存变为了原来的一半
    进化:将一块内存按8:1的比例分为一块Eden区(80%)和两块Survivor区(10%)
    每次使用Eden和一块Survivor,回收时,将存活的对象一次性复制到另一块Survivor上,如果另一块Survivor空间不足,则使用分配担保机制存入老年代,什么时候从Survivor进入老年代,视垃圾回收器类型而定。

    3:标记—整理 (压缩)(Mark—Compact)
    过程:所有存活的对象向一端移动,然后清除掉边界以外的内存
    缺点:相对消耗时间,去除垃圾的同时还需要整理。

    4:分代收集算法
    过程:将堆分为新生代和老年代,根据区域特点选用不同的收集算法,如果新生代朝生夕死,则采用复制算法,老年代采用标记清除,或标记整理

  • 相关阅读:
    学习Vue.js
    Xmind思维导图
    Webpack 入门教程
    Vscode 使用介绍
    jdk,jre下载安装
    Java JDK下载
    FileZilla FTP下载
    notepad++下载
    windows环境搭建Vue开发环境
    SecureCRTPortable的安装和使用(图文详解)
  • 原文地址:https://www.cnblogs.com/nginxTest/p/13446130.html
Copyright © 2011-2022 走看看