2023/08/13_______JVM(CG)垃圾回收 算法(复制算法,标记清除,标记清除压缩)

JVM GC算法

复制算法

1,每一次GC都会将伊甸(Eden)活的对象移到幸存区中:一旦Eden区被GC后 就会是空

只要有内容就是from区
谁空谁是to区
内存会从 伊甸->幸存区to->幸存from(这个时候to和from交换区域)

在这里插入图片描述

在这里插入图片描述

每一次GC(垃圾回收)以后伊甸园空幸存区to都是空的

好处:没有内存碎片
坏处:浪费一半空间(幸存to区)
复制算法最佳使用场景,对象存活度较低的时候

标记清除算法

在这里插入图片描述

优点:不需要额外的内存空间
缺点:两次扫描浪费时间,会产生内存碎片

标记清除压缩算法

在这里插入图片描述

内存效率:复制算法>标记清除算法>标记压缩算法(时间复杂度问题)
内存整齐度:复制算法=标记压缩算法>标记清除算法
内存利用率:标记压缩算法=标记清除算法>复制算法

年轻代:

  • 存活率低

  • 复制算法
    老年代:

  • 区域大:存活录

  • 标记清除(内存碎片不是太多)+标记压缩混合实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/40195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EXPLAIN使用分析

系列文章目录 文章目录 系列文章目录一、type说明二、MySQL中使用Show Profile1.查看当前profiling配置2.在会话级别修改profiling配置3.查看profile记录4.要深入查看某条查询执行时间的分布 一、type说明 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引&…

kafka线上问题优化

如何防止消息丢失 生产者: 使用同步发送把ack设成1或者all(非0,0可能会出现消息丢失的情况),并且设置同步的分区数>2 消费者:把自动提交改成手动提交 如何防止重复消费 在防止消息丢失的方案中&#…

leetcode 力扣刷题 数组交集(数组、set、map都可实现哈希表)

数组交集 349. 两个数组的交集排序+双指针数组实现哈希表unordered_setunordered_map 350. 两个数组的交集Ⅱ排序 双指针数组实现哈希表unordered_map 349. 两个数组的交集 题目链接:349. 两个数组的交集 题目内容如下,理解题意&#xff1a…

梯度爆炸和梯度消失的原因以及解决方法

文章目录 1、原因:2、解决方法 1、原因: 梯度消失和梯度爆炸的根本原因是因为在反向传播过程中,使用链式法则计算时,累积相乘效应导致梯度过大或者过小主要原因有: 1)激活函数:例如sigmoid或者…

聊聊火车的发展

目录 1.火车的概念 2.火车的发展历史 3.火车对战争的影响 4.火车对人们出行造成的影响 1.火车的概念 火车是一种由机械动力驱动的陆上交通工具,通常用来运输人员和货物。它由一列或多列的连接在一起的车厢组成,有轨道作为其行驶的基础,并通…

重建与突破,探讨全链游戏的现在与未来

全链游戏(On-Chain Game)是指将游戏内资产通过虚拟货币或 NFT 形式记录上链的游戏类型。除此以外,游戏的状态存储、计算与执行等皆被部署在链上,目的是为用户打造沉浸式、全方位的游戏体验,超越传统游戏玩家被动控制的…

mysql面试

基础篇 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用…

php正则替换文章的图片

要使用正则表达式替换文章中的图片链接,可以按照以下步骤进行操作: 1. 获取文章内容:首先,你需要获取包含图片链接的文章内容。你可以从文件中读取文章,或者从数据库中检索文章内容。 2. 使用正则表达式匹配图片链接…

JAVA编程学习笔记

常用代码、特定函数、复杂概念、特定功能……在学习编程的过程中你会记录下哪些内容?快来分享你的笔记,一起切磋进步吧! 一、常用代码 在java编程中常用需要储备的就是工具类。包括封装的时间工具类。http工具类,加解密工具类&am…

day17 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

目录: 解题及思路学习 110.平衡二叉树 https://leetcode.cn/problems/balanced-binary-tree/ 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差…

Linux学习之firewallD

systemctl status firewalld.service查看一下firewalld服务的状态,发现状态是inactive (dead)。 systemctl start firewalld.service启动firewalld,systemctl status firewalld.service查看一下firewalld服务的状态,发现状态是active (runni…

okcc呼叫系统导入呼叫名单/客户资料的数量上限,okcc通话声音小有哪几种处理办法?

系统导入呼叫名单/客户资料的数量上限 呼叫名单一次最多十万 客户资料一次最多五万 通话声音小有哪几种处理办法? 1、IP话机:通过话机上的音量调节按钮来进行调节。 2、模拟话机:修改语音网关上的增益来实现。 “ 往IP增益”表示电话呼入…

stable diffusion 运行时报错: returned non-zero exit status 1.

运行sh run.sh安装stable diffusion时报错:ImportError: cannot import name builder from google.protobuf.internal (stable-diffusion-webui/venv/lib/python3.8/site-packages/google/protobuf/internal/__init__.py) 原因:python版本过低&#xff0…

ubuntu16.04制作本地apt源离线安装

一、首先在有外网的服务器安装需要安装的软件,打包deb软件。 cd /var/cache/apt zip -r archives.zip archives sz archives.zip 二、在无外网服务器上传deb包,并配置apt源。 1、上传deb包安装lrzsz、unzip 用ftp软件连接无外网服务器协议选择sftp…

股票交易c接口包含哪些调用函数?

股票交易的C接口中可能包含多个调用函数,具体的调用函数取决于所使用的接口规范和交易所的要求。接下来看看下面是一些可能常见的股票交易C接口调用函数的示例: 1. 连接函数(Connect):用于与交易所建立网络连接。 2.…

CSS(JavaEE初阶系列14)

目录 前言: 1.CSS是什么 1.1CSS基本语法 2.引入样式 2.1内部样式表 2.2行内样式表 2.3外部样式 3.选择器 3.1选择器的种类 3.1.1基础选择器 3.1.2复合选择器 4.常用元素属性 4.1字体属性 4.2文本属性 4.3背景属性 4.4圆角矩形 4.5元素的显示模式 4…

​LeetCode解法汇总2682. 找出转圈游戏输家

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: n 个朋友…

【Leetcode】84.柱状图中最大的矩形(Hard)

一、题目 1、题目描述 给定 n n n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10示例2:…

学习Vue:Vue Router的集成与基本配置

在Vue.js中,路由与导航是构建单页应用程序(SPA)的关键概念。Vue Router是Vue.js官方提供的路由管理库,它允许您轻松地实现页面之间的切换、嵌套路由和参数传递。在本文中,我们将深入了解Vue Router的集成和基本配置。 …

Stephen Wolfram:那么…ChatGPT 在做什么,为什么它有效呢?

So … What Is ChatGPT Doing, and Why Does It Work? 那么…ChatGPT在做什么,为什么它有效呢? The basic concept of ChatGPT is at some level rather simple. Start from a huge sample of human-created text from the web, books, etc. Then train…