JVM虚拟机:垃圾回收器之G1

news2024/11/21 0:22:34

本文重点

在前面的课程中我们介绍了六个垃圾回收器,分别是新生代的三个以及老年代的三个,本文我们将介绍一个垃圾回收器,它既可以用于新生代又可以用于老年代,这个垃圾回收器就是G1。

G1垃圾回收器的特点

G1是一种服务器端的并发收集垃圾回收器,应用在多处理器和大容量内存环境中,在实现吞吐量的同时(比PO的吞吐量差一些),压缩空闲空间不会延长GC的暂停时间,尽可能地满足垃圾收集暂停时间的要求,它具有预测功能,可以让开发人员根据实际经验设置停顿时间。适用于不需要实现很高的吞吐量、并且需要很快响应时间的场景。

G1的优点

G1能够充分利用多CPU,多核环境硬件优势,尽量缩短STW,可以人为地设置停顿时间。

G1整体上采用标记-整理算法,局部通过复制算法(新生代),针对于老年代,将存活对象从一个区域复制到另外一个区域,这就意味着,G1完成了堆的压缩,至少是部分堆的压缩,这样就不会有CMS内存碎片的问题。

G1下的内存组成

新生代和老年代的比例是不固定的,默认为5%到60%,这个G1会进行自动的调整,比如G1在新生代的垃圾回收时间比较长,那么它可能就会自动调小新生代所占空间的比例。

如上所示,之前我们介绍的六种垃圾回收器会将JVM的堆内存分为新生代和老年代(物理上就是这么分的),而现在不是了,G1物理上不分新生代和老年代,G1

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

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

相关文章

Zookeeper 命令使用和数据说明

文章目录 一、概述二、命令使用2.1 登录 ZooKeeper2.2 ls 命令,查看目录树(节点)2.3 create 命令,创建节点2.4 delete 命令,删除节点2.5 set 命令,设置节点数据2.6 get 命令,获取节点数据 三、数…

PBHA(page based hardware attributes)的介绍

基本介绍 基于页面的硬件属性 (PBHA:page based hardware attributes) 是一项可选的、由实现定义的功能。 它允许软件在转换表中设置最多四位,然后通过事务通过内存系统传播这些位,并可在系统中用于控制系统组件。这些位的含义特定于系统设计…

论文浅尝 | 用于开放式文本生成的事实增强语言模型

笔记整理:李煜,东南大学硕士,研究方向为知识图谱 链接:https://proceedings.neurips.cc/paper_files/paper/2022/hash/df438caa36714f69277daa92d608dd63-Abstract-Conference.html 1. 动机 生成式语言模型(例如 GPT-3…

本田发布全新CB1000 Hornet,是杜卡迪街霸劈了腿还是Z1000红杏出墙?

米兰车展上,本田带来了全新的大黄蜂CB1000 Hornet,外观方面抛弃了之前的本田推出的Neo Sports Caf风格,新款的外观看起来要更加战斗一点。不过新的这个前脸改的,我只能说是杜卡迪街霸劈了腿还是Z1000红杏出墙?外观方面…

【LLM】0x00 大模型简介

0x00 大模型简介 个人问题学习笔记大模型简介LLM 的能力:LLM 的特点: LangChain 简介LangChain 核心组件 小结参考资料 个人问题 1、大模型是什么? 2、ChatGPT 在大模型里是什么? 3、大模型怎么用? 带着问题去学习&a…

石原子科技亮相2023成都市信息领域新产品发布会

2023年11月13日至15日,由成都市互联网信息办公室、四川天府新区管委会、成都市经信局市新经济委、成都市农业农村局指导的以“信息创造价值 创新引领未来”为主题的成都市信息领域新产品发布会在科创生态岛1号馆举行。围绕人工智能、区块链、数字化绿色化、数字乡村…

c题目8:打印斐波那契数列前100项

每日小语 终日寻春不见春,芒鞋踏破领投云。 归来偶把梅花嗅,春在枝头已十分。——无尽藏 解析题目 1.斐波那契数列是什么? 斐波那契数列是一个数列,其中每个数字等于前两个数字的和。数列的前几个数字是0、1、1、2、3、5、8、…

软件外包开发的开发文档

软件开发文档是一个重要的工具,用于记录和传达项目信息,帮助开发团队和利益相关者理解项目的各个方面。以下是一般性的软件开发文档编写格式,不同组织和项目可能有所不同,但这些通用准则可以帮助确保文档的清晰性和易读性&#xf…

Docker - 网络

Docker - 网络 理解Docker0 # 我们发现这个容器带来网卡,都是一对对的 # evth-pair 就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连 # 正因为有了这个特性,evth-pair 充当一个桥梁&#xff0…

八股文-面向对象的理解

近年来,IT行业的环境相较以往显得有些严峻,因此一直以来,我都怀有一个愿望,希望能够创建一个分享面试经验的网站。由于个人有些懒惰,也较为喜欢玩乐,导致计划迟迟未能实现。然而,随着年底的临近…

466. 回文日期

题目: 466. 回文日期 - AcWing题库 思路: 1.如果正向考虑,计算两天之间所以的回文数,应该如何枚举?没有明确的进制,那么只能列一个日历,这样会比较麻烦。 2.我们不妨采用逆向思维&#xff0…

esp32cam串口问题

选择的串口 Failed to execute script esptool不存在或开发板没有连接 设置串口参数时出错:9,600 N 8 1注意到他说的串口设置错误,但是在设置里不能设置串口参数 所以说是串口打印的问题 把他换成esp32用的115200就行

一文了解VR全景拍摄设备如何选择,全景图片如何处理

引言: 在如今的数字化时代,虚拟现实(VR)技术不仅为我们的生活增添了许多乐趣,也为摄影领域带来了新的摄影方式,那么VR全景拍摄如何选择设备,全景图片又怎样处理呢? 一. VR全景拍摄设…

CRM系统对科技企业有哪些帮助

随着国家政策的倾斜和5G等相关基础技术的发展,中国人工智能产业在各方的共同推动下进入爆发式增长阶段,市场发展潜力巨大。CRM客户管理系统作为当下最热门的企业应用,同样市场前景广阔。那么,CRM系统对科技企业有哪些帮助&#xf…

C++算法:全 O(1) 的数据结构

题目 请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。 实现 AllOne 类: AllOne() 初始化数据结构的对象。 inc(String key) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key…

C++中关于多线程并发访问实例函数与静态函数

问题 1 C中多个线程共同执行一个实例函数,该函数是在线程的栈空间吗?对于函数中的多线程共享变量又是存储在哪里呢? example: 在该例子中线程绑定当前对象(this)的实例函数captureVideo, 并将int参数传递过去。但是对于captureVideo中多个线…

【Git】第五篇:基本操作(添加文件)

.git目录结构 我们在前文中提过了.git目录,也明确说了我们不能手动去.git目录下创建修改等任何操作。 添加文件 我们现在已经了解到,git是一个版本控制器,可以对我们的文件进行管理。而我们需要使用git管理文件的时候,我们必须将…

【工艺库】SMIC数字后端工艺库

工艺库文件 Calibredigital文件夹apollolefprimetimesynopsys TD系列文件夹 本来是想找一个工艺库,想要其包含逻辑综合和SPICE Model相关的库文件,但是找了很久也没有直接找到想要的,主要原因还是自己对工艺库文件的构成不是很清楚&#xff0…

Sentinel浅层介绍(上)

一、概述 Sentinel是阿里开源的一款面向分布式、多语言异构化服务架构的流量治理组件。 主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 二、核心概念 1、资源 资…

【机器学习】决策树算法理论:算法原理、信息熵、信息增益、预剪枝、后剪枝、算法选择

1. 决策树概念 通过不断的划分条件来进行分类,决策树最关键的是找出那些对结果影响最大的条件,放到前面。 我举个列子来帮助大家理解,我现在给我女儿介绍了一个相亲对象,她根据下面这张决策树图来进行选择。比如年龄是女儿择偶更…