首页 > 编程语言 >11. 你知道哪些垃圾收集算法

11. 你知道哪些垃圾收集算法

时间:2025-01-08 22:54:59浏览次数:1  
标签:11 收集 标记 对象 清除 算法 分代 垃圾

GC最基础的算法有三种: 标记-清除算法、复制算法、标记-压缩算法,我们常用的垃圾回收器一般都采用分代收集算法。
标记-清除算法,“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。
复制算法,“复制”(Copying)的收集算法,它将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。
标记-压缩算法,标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存
分代收集算法,“分代收集”(Generational Collection)算法,把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。

深入理解参考:https://cloud.tencent.com/developer/article/2404459

标签:11,收集,标记,对象,清除,算法,分代,垃圾
From: https://www.cnblogs.com/tim-zuo/p/18660742

相关文章

  • 训练自己的yolo-v11数据集
    参考:超详细目标检测:YOLOv11(ultralytics)训练自己的数据集,新手小白也能学会训练模型,手把手教学一看就会手把手教你使用YOLOv11训练自己数据集(含环境搭建、数据集查找、模型训练)YOLOv11训练自己的数据集(从代码下载到实例测试)LabelImg安装与使用教程既然是训练,必不可少的就是......
  • 10. JVM的永久代中会发生垃圾回收么
    JVM的永久代(PermGen)中会发生垃圾回收‌。在Java8之前的版本中,永久代用于存储类的元数据、常量池、静态变量等,当永久代空间不足或超过某个阈值时,会触发完全垃圾回收(FullGC),以回收不再使用的类定义和其他资源,防止内存溢出‌然而,从Java8开始,永久代被元空间(Metaspace)所替代。元空......
  • 什么是 pybind11?
    什么是pybind11?pybind11是一个轻量级的C++库,用于将C++代码与Python代码连接起来。它允许你轻松地在Python中调用C++函数和类,同时保持高性能。pybind11为C++和Python之间提供了一个清晰、简单的桥梁,使得我们可以在Python中直接使用C++编写的高性能代码......
  • 基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法
    1.程序功能描述基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法,对比两个算法的仿真时间,收敛曲线,以及路径规划的结果,最短路径长度。2.测试软件版本以及运行结果展示MATLAB2022A版本运行 3.核心程序whilet>=Temp1%温度降温判决t......
  • CentOS 7.9 JDK1.8环境,运行JDK11、17的项目
    由于基础环境是JDK1.8,我们其中一个依赖是JDK17的平台,因此使用如下方案:1、Docker拉取CentOS7.9.2009镜像dockerpullcentos:7.9.2009docker拉取镜像有一个需要注意的点,就是镜像源,目前【2025年01月07日】我使用的镜像源是可用的,分享给大家一起使用吧。vi/etc/docker/daemo......
  • 蓝桥杯python省赛备战day2--数组枚举--845数组中的最长山脉-枚举算法刷题学习笔记3--l
    写在前面的话:大家好,我是一名正在努力学习数据结构和算法的新手。这篇文章是我在学习python的各类数据结构以及基础算法过程中的一些笔记和心得,希望能和同样在学习该方面知识的朋友们分享。由于我的知识有限,文章中可能存在错误或不准确的地方,欢迎大家在评论区提出建议和指正。......
  • 常见的七种贪心算法应用实例
            贪心算法(GreedyAlgorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。以下是一些常见的贪心算法应用实例:1.钱币找零问题:        在找零时,希望用最少数量的钱币凑成特定的金额。......
  • 代码随想录算法训练营第一天 | Leetcode 027、Leetcode 704、Leetcode 977
    Leetcode027双指针覆盖目标元素#include"iostream"#include"vector"usingnamespacestd;intremoveElement(vector<int>&nums,intval){inti=0;for(intj=0;j<nums.size();j++){if(nums[j]!=val){......
  • 一致性hash算法
    一、一致性Hash算法背景我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢?我们可能首先想到的方案是:取模算法hash(key)%N,即:对key进行hash运算后取模,N是机器的数量;这样,对key进行hash后的结果对3取模,得......
  • P11531 [THUPC2025 初赛] 检查站
    检查站题目链接。Problem小I是一个巨大的铁路公司的主管,他管理着\(n\)个火车站,用\(1\)至\(n\)的整数给它们编号。铁路公司有\(c\)个分部,第\(i\)个分部的办公室位于火车站\(p_i\)。可能有火车站没有分部办公室,一个火车站也有可能有多个分部办公室。\(n\)个火车站......