JVM - G1&ZGC初探

文章目录

  • GC概述
  • 参考

在这里插入图片描述

GC概述

我们知道Serial 、Serial Old 、 Parallel 、 Parallel Old 、 ParNew 、CMS这些垃圾收集器都是基于分代收集理论,即将内存区域按照存储对象的不同分为年轻带、老年代和元空间。如下

在这里插入图片描述

G1 和 ZGC 逐渐淡化了这种分代的概念,G1的堆内存分配如下

在这里插入图片描述
堆被划分为一组大小相等的堆区域,每个堆区域都有一个连续的虚拟内存范围。 这在内存使用方面提供了更大的灵活性。


参考

https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

https://www.oracle.com/technical-resources/articles/java/g1gc.html

https://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector.htm#JSGCT-GUID-ED3AB6D3-FD9B-4447-9EDF-983ED2F7A573

热门文章

编程学习 ·

Prometheus的安装与配置

一、什么是PrometheusPrometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第…
编程学习 ·

Python使用Request库实现PC端学小易(适用app版本1.0.6)

Python使用Request库实现PC端学小易app(适用app版本1.0.6)前言抓包登录操作抓包搜题操作抓包数据分析登录搜题重点代码实现导入库tkinter实现简易图形界面部分request库实现登录部分搜题部分整理输出至tkinter部分完整代码重点 前言 一直以来学小易只有安卓段与IOS端的app,在…
编程学习 ·

c++数制2~16数进制的转换

通项公式: while(n!=0){ a[i]=n%d; n=(n/d); i++; } 其中n为要转换的十进制的数。d为要转换的数制,如二进制为2. #include<iostream> using namespace std;int main() {int i,n,d,a[100];//n 为要转换的十进制数,d为要转为的数制 while(cin>>n>>d){i=0;wh…
编程学习 ·

BIO、NIO、AIO基本概念

BIO 采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理,处理完成后,通过输出流返回应答给客户端,线程销毁。 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须…
编程学习 ·

machine learning基础知识(Leetcode)

机器学习 machine learning是机器通过已知的内容,类似于人类一样进行学习,并对同类型数据进行判断的过程。 例如训练图片模型就是将每个像素点转为0到255之间的值,利用机器发现不同种类的图片之间存在的映射。 有监督与无监督模型监督学习是F(x)= sum 并且sum已知,可以通…
编程学习 ·

ps如何实现阳光照射效果

1.ps打开图片。2.按ctrl+j复制背景图层就会自动创建图层(图层 0 副本),选择图层 0 副本,按ctrl+alt+2调出高光选区,再按ctrl+j复制高光选区就会自动创建图层(图层 1)。3.选择图层1,ctrl+L打开色阶工具,拖动输入色阶的右边白色滑块向左边移动把图中亮的的地方调更亮。4…
编程学习 ·

笔试

1、将一个字符串中的转换成整数(过滤掉非数字字符,如果字符串中第一次出现的数字前面有负号,转换结果需要为负数,不用考虑大数溢出问题)例1:"a00bc,123/\450-=+.,789" 转换成 123450789例2:"a00b-c,123/\450-=+.,789" 转换成 -123450789public static in…
编程学习 ·

自动驾驶论文解析(7)

本文解析论文: A Practical Trajectory Planning Framework for Autonomous Ground Vehicles Driving in Urban Environments 来自国防科大团队 文章依旧沿用了经典的横向的空间规划,和纵向的速度规划。在横向上,横向位置是关于纵向距离S的三阶多项式。纵向上速度是关于时间…
编程学习 ·

Django 接收并解析POST请求参数

使用Django框架搭建一个简单的web服务,java程序去调用Django提供的接口: 1. Django接收GET请求并解析参数 # 直接使用request.GET.get就可以获取参数 request.GET.get(id,0)2. Django接收POST请求并解析参数 使用postman模拟POST请求,需要关闭csrftoken的验证:将settings.p…
编程学习 ·

关于剪贴板的故事—起源于公众号后台的一次探寻

关于剪贴板的故事—起源于公众号后台的一次探寻 整个事情的起源是这样的。 六月底,我打算重新开始更我停了很久的公众号,因为域名到期和图片自动上传不够便利的原因,我弃用了之前的vscode+markdown preview enhanced插件+qiniu-upload-image插件的写文方案。同时,vscode写m…
编程学习 ·

【浅拷贝】Object.create()、Object.assign()、扩展运算符

文章目录【ES5】Object.create() 方法【ES6】Object.assign() 方法【ES6】对象展开运算符 "..."【ES5】Object.create() 方法第一层嵌套层原对象未被修改,而第二层开始,原对象被影响(计数器例子只有一层)【ES6】Object.assign() 方法第一层嵌套层原对象未被修改,…
编程学习 ·

JavaOOP---异常

异常 简单来说异常就是程序中的一些错误或者说是不正常的存在。 首先异常分为两大类:Error:这种异常更该说是错误,是比较严重的一类错误。说严重,其实是因为这些错误是JVM监管范围外的,可以捕获它,但是JVM无法解决掉。比如,网线断了,或者计算机硬件之类的问题。 Except…
编程学习 ·

python获取51外包网所有投资合作商的公开信息

python获取51外包网所有投资合作商的公开信息 作者:Mac 时间:2020.7.1 ---------------------------------------- 这种爬虫属于: 根据一个网页的url去访问详情页的url, 对详情页的源码进行解析并获取想要的数据。 对于这种爬虫有一个简单的思路(三步): 第一步:先获取一…
编程学习 ·

Zookeeper 总结与面试题汇总

1.zookeeper的用处 从工作机制上来说,Zk = 文件系统 + 通知机制 想个哨兵一样,它负责存储和管理大家都关心的数据,然后接收观察者的注册,一旦这些数据的状态发生变化,Zk 就通知已经在Zookeeper 已经注册的观察者做出相应的反应。 2.zookeeper的数据结构(树)? 讲一下基于…
编程学习 ·

Java环境安装和配置

**Java环境安装和配置 1.下载 进入下载页面:https://www.oracle.com/java/technologies/javase-downloads.html 2.点击对应版本JDK.Download进入下载界面并选择对应操作系统 3.下载后安装 已经安装过此版本的提示: 点击下一步: 更改都存储路径,不要出现特殊符号和汉字: 2.…
编程学习 ·

计算机专业大学生的随感

我想去聚会,想和朋友一起喝酒,但是仔细一想,自己好像没有可以去的聚会,也没有可以陪着自己喝酒的朋友。 懒得在社交上花费时间和精力,那么需要朋友的时候,就只能对着屏幕空感叹。 那几分GPA虽然重要,但真的不至于占用自己那么多时间
编程学习 ·

Matrix工作室人事管理规章

第一条 总则 Happy Coding,Happy Earning. 为使Matrix工作室成员管理有所遵循,便于成员间的沟通交流和能力提升,特定本规则。 第二条 使命 使命是一个组织在社会进步和社会经济发展中所应担当的角色和责任,是一个组织的根本性质和存在理由。 为确定Matrix工作室实现远景目标必…