码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面经-虚拟机-JVM垃圾回收算法


    JVM垃圾回收算法

    标记:找到不能被作为垃圾回收的对象并标记。标记的对象保留,未被标记的对象作为垃圾释放。

    标记清除法

    标记:将一定不能被回收的根对象作为GC Root对象,从根对象出发,沿着它的引用链找当前对象有没有被根对象引用到。若是则不能被回收,加标记。若否,则不加标记,GC时释放掉。

    清除:有标记则保留,没有标记则释放。

    缺点:

    释放后的内存不连续,造成内存碎片问题。需要连续内存时碎片内存不够用。

    标记整理法(用于老年代的垃圾回收)

    标记清除的基础上多了整理阶段。

    整理:移动未被清除的对象朝一端靠拢,避免了内存碎片的问题。

    缺点:

    多了整理步骤,要重新计算内存的引用地址,内存复制等,效率会变低。

    标记复制法(用于新生代的垃圾回收)

    把内存分成两部分,一部分用来存对象,一部分作为空闲区域。将标记的需要存活的对象复制到空闲区域,复制完成后将原来那部分所有内容清空。此时空区域再作为空闲区域,复制后的区域作为存对象区域。整个过程不会有内存对象产生。且效率比标记整理高。

    缺点:

    占用了一份额外的内存。

  • 相关阅读:
    StarRocks从入门到精通系列三:创建表和导入和查询数据
    UnrealEngine - 反射系统分析
    煤炭行业数智化供应商管理系统解决方案:数据驱动,供应商智慧平台助力企业降本增效
    深入解析Kafka消息传递的可靠性保证机制
    知识付费系统开发搭建教程,提供免费源码搭建方案
    触摸屏驱动
    项目管理的四大模型,PM必懂的事半功倍模型!
    一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)
    基于AVR128单片机抢答器控制系统
    ElasticSearch-head前端安装以及连接ES基本步骤(linux)
  • 原文地址:https://blog.csdn.net/LYly_B/article/details/126527692
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号