垃圾收集器

Java58

垃圾收集器

Serial:单线程收集器、在进行垃圾收集的时候需要暂停其他线程。优点:简单高效。适用于新生代。复制算法

SerialOld:是Serial收集器的l老年代版本,,也是一个单线程收集器,不同的是采用标记-整理算法。也会去暂停其他线程。标记整理算法

ParNew:Serial收集器的多线程版本,也就是多线程收集,还是会暂停其他线程,但是时间短了。复制算法(以上三种为什么要暂停,为了保证该回收会被回收)

Parall Scanvenge:是一个新生代收集器,使用的复制算法,而且是并行多线程收集器。更关注系统的吞吐量(吞吐量=运行用户代码时间/(运行用户代码的时间+垃圾收集时间))。吞吐量越大,垃圾收集时间越短。(可以直接设置吞吐量大小,可以设置最大的垃圾收集停顿时间)

Parall Old:Parall Scanvenge收集器的老年代版本,使用多线程和标记整理进行垃圾回收。

CMS:以获取最短回收停顿时间为目标的收集器,采用的是标记清除

并发类收集器和并行类收集器:垃圾收集线程与我们的业务一起跑的收集器称为并发类垃圾收集器,多线程全跑的收集器称为并行类收集器。

标记 清除:标记非常耗时:先找到GCroot(这一步不是很耗时) 找到与之直接关联的引用链对象并标记

1、 初始标记:找到所有与GCRoot以及与之直接相关联的对象。这一步不是很耗时所以可以打断其他线程再去标记(引用链上对象先不找,因为我不知道这条引用链有多长,可能会非常耗时)。 注意这一步默认使用的是多线程(调优点:如果你在业务代码中没有什么多线程代码可以将这个设置为单线程,减少了线程创建的开销,提升性能)

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

设计模式 《head first 设计模式》

策略设计模式:strategy pattern 定义了算法族,分别封装起来,让他们之间可以互相替换。 此模式让算法的变化独立于算法的客户类 客户类,以 接口定义的 实例变量作其域,即,将部分属性 委托...
Java

我使用Spring AOP实现了用户操作日志功能

我使用Spring AOP实现了用户操作日志功能 今天答辩完了,复盘了一下系统,发现还是有一些东西值得拿出来和大家分享一下。 需求分析 系统需要对用户的操作进行记录,方便未来溯源 第一个想法是在每种方...
Java

失物招领网站

校园失物招领网站 | lijinghai 项目介绍 📖 👉基于Springboot+vue+uni-app的校园失物招领平台. 含平台主体PC端、微信小程序和web后台数据管理平台. 失物招领信息一览...
Java

谈谈设计对软件工程目标实现的影响

本文从个人经验出发,谈谈设计对软件工程目标实现的影响。 一、软件工程概念 首先明确下"软件工程的概念"。 看下原文(注意,原文也有一些问题,但总体没有大毛病): 既然有分歧,我只能选择自己认可的部分,...
Java

TypeScript(4)接口

介绍 TypeScript 的核心原则之一是对值所具有的结构进行 类型检查。我们使用接口(Interfaces)...
Java

MySQL学习-idea连接数据库导入jar包

导包先有包 !!!一定要下载和自己MySQL版本一样的jar包!!! !!!一定要下载和自己MySQL版本一样的jar包!!! !!!一定要下载和自己MySQL版本一样的jar包!!! 如果没有包,参...
Java

设计模式之解释器模式

解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式。 本文通过解释器模式的概念、...
Java

一些基本的jar包

jackson与前端传送数据 com.fasterxml.jackson.core jackson-databind 2.13.3 lombok可以自动生成一些方法 org.projectlombok...
Java

JavaSE_lambda表达式 Stream流 Option类

对Java_lambda表达式 Stream流 Option类进行总结和简要介绍 1 Lambda表达式 1.1 作用 为了简化匿名内部类的书写 1.2 思想 函数式编程思想 : 强调的是结果 , 而...
Java

Mybatis框架入门

首先,先说一下写这个入门程序的需求与开发步骤: 那前三步就不说了有一些基础就可以办到 写入配置文件时,主要写入两种类型的配置文件。第一种类型是主配置文件,它管理与接口对应的其他配置文件。[En]Whe...