【jvm】各个java版本默认的垃圾回收器

要看Java默认的垃圾回收器

可以使用以下命令

java -XX:+PrintCommandLineFlags -version

各个java版本默认的垃圾回收器

从Java 1(JDK 1.0)开始到Java 21之间的各个Java版本默认的垃圾回收器经历了一系列的演变。以下是一些主要版本的Java默认垃圾回收器的概述:

  1. JDK 1.0 - 1.2:

    • 这些早期版本的Java并没有提供垃圾回收器的选择,它们使用了一个简单的标记-清除算法。
  2. JDK 1.3:

    • 引入了串行垃圾回收器(Serial GC),这是第一个真正意义上的垃圾回收器。
  3. JDK 1.4:

    • 引入了并行垃圾回收器(Parallel GC),也称为吞吐量优先的垃圾回收器,它在Server模式下成为默认的垃圾回收器。
  4. JDK 5 :

    • 引入了Parallel Scavenge收集器,它与Parallel Old收集器一起使用,成为JDK 5到JDK 7的默认垃圾回收器组合。
  5. JDK 6:

    • 继续使用Parallel Scavenge和Parallel Old作为默认垃圾回收器。
  6. JDK 7:

    • 默认垃圾回收器仍然是Parallel Scavenge和Parallel Old。
  7. JDK 8:

    • 继续使用Parallel Scavenge和Parallel Old作为默认垃圾回收器。
    • 引入了G1(Garbage-First)垃圾回收器,在JDK 8中也可以通过参数-XX:+UseG1GC来启用。
  8. JDK 9:

    • G1垃圾回收器成为默认垃圾回收器,适用于大型堆和需要可预测停顿时间的应用。
  9. JDK 10 - 16:

    • 继续使用G1作为默认垃圾回收器。
  10. JDK 17:

    • G1垃圾回收器仍然是默认选择,但引入了ZGC(Z Garbage Collector)作为实验性特性。
  11. JDK 21:

    • 根据搜索结果,JDK 21支持多种垃圾回收器,包括G1、Parallel和ZGC。G1继续作为默认垃圾回收器,而ZGC提供了极低的停顿时间,适用于需要非常低停顿时间的应用程序。

请注意,随着Java版本的更新,垃圾回收器的特性和性能也在不断改进。开发者应根据应用程序的具体需求和JVM的性能特性来选择合适的垃圾回收器。此外,JVM的默认垃圾回收器可能会随着新版本的发布而发生变化,因此在使用特定版本的JDK时,最好查阅官方文档以获取最新信息。




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

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

相关文章

力扣面试150 直线上最多的点数 数学 直线斜率 欧几里得求最大公约数

Problem: 149. 直线上最多的点数 思路 👨‍🏫 参考题解 💖 枚举直线 枚举统计 时间复杂度: O ( n 3 ) O(n^3) O(n3) 空间复杂度: O ( 1 ) O(1) O(1) class Solution {public int maxPoints(int[][] points){int n points.length;int…

数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting

模型融合:通过融合多个不同的模型,可能提升机器学习的性能。这一方法在各种机器学习比赛中广泛应用, 也是在比赛的攻坚时刻冲刺Top的关键。而融合模型往往又可以从模型结果,模型自身,样本集等不同的角度进行融合。 数据…

【牛客】SQL148 筛选昵称规则和试卷规则的作答记录

描述 现有用户信息表user_info(uid用户ID,nick_name昵称, achievement成就值, level等级, job职业方向, register_time注册时间): iduidnick_nameachievementleveljobregister_time11001牛客1号19002算法2020-01-01 10:00:00210…

BC98 序列中删除指定数字

题目 描述 有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。 数据范围:序列长度和序列中的值都满足 1≤�≤…

Python数值和符号算法计算及3D视图物理数学波形方程

要点 Python数值和符号计算及3D可视化以下物理方程: 物理数学方程分析:二分算法和牛顿-拉夫森算法解方程根。最小二乘法拟合方程和数据。短期傅里叶变换和小波分析非平稳信号。使用主成分分析复杂和大型数据集,提取时空相关性,分…

Code Review 最佳实践

理论上讲,Code Review 对开发人员来说是件好事。它能帮助我们: 提高我们代码的可读性尽早发现漏洞和安全问题提供一个安全网络,以确保所有任务都得到充分完成 但现实是,code review 对于所有相关人员来说通常是一种不舒服的体验…

xcode生成静态库.a

一、生成静态库 1.打开 Xcode 创建一个新的 Static Library 工程,取名applestudio 2.创建工程完毕后,简化目录结构 删除系统自动创建的同名类:applestudio.h和applestudio.m 把自己的代码复制进去,如例子:guiconnect.h…

Unix环境高级编程-学习-08-自旋锁与屏障

目录 一、多线程相关文章链接 二、自由抒发 1、自旋锁 2、屏障 三、函数介绍 1、pthread_spin_init (1)声明 (2)作用 (3)参数 (4)返回值 (5)注意点 …

libVLC 视频裁剪

使用 libVLC 进行视频裁剪并不是直接支持的功能,因为 libVLC 主要是一个媒体播放库。然而,你可以通过调整播放窗口的大小和设置视频输出的区域来实现一种“视觉上的裁剪”。这意味着视频本身并没有被修改,但可以控制显示给用户的视频区域。 …

docker-面试题

文章目录 2022-docker-面试题一、通用问题1、Docker 和虚拟机有啥不同?2、Docker 安全么?3、如何清理后台停止的容器?4、如何查看镜像支持的环境变量?5、当启动容器的时候提示:exec format error?如何解决问…

多个用户同时执行耗时较长的sql如何保证数据库的性能不被因此变得缓慢

当多个用户同时执行耗时较长的 SQL 查询时,可以采取一些措施来保证数据库的性能不会因此变得缓慢。以下是一些常用的方法: 优化查询语句:确保 SQL 查询语句是经过优化的,包括正确使用索引、避免全表扫描、减少不必要的连接和子查询…

前端Ajax请求从后端获取二进制文件并下载

大家都知道前端的下载除了最简单的a标签href,还有时候需要验证token,此时后台会给一个返回二进制的下载接口。如果你用ajax普通的get,post请求,接口会返回乱码。那么本文就带你封装一个处理二进制下载的方法。 1.设置responseTyp…

[网鼎杯2018]Unfinish 两种方法 -----不会编程的崽

网鼎杯太喜欢搞二次注入了吧。上次是无列名盲注,这次又是二次注入盲注。。。不知道方法还是挺难的。哎,网鼎嘛,能理解透彻就很强了。能自己做出来那可太nb了。 又是熟悉的登录框。不知道这是第几次看见网鼎杯的登录框了。后台扫描一下&#x…

『Apisix入门篇』从零到一掌握Apache APISIX:架构解析与实战指南

📣读完这篇文章里你能收获到: 🌐 深入Apache APISIX架构: 从Nginx到OpenResty,再到etcd,一站式掌握云原生API网关的构建精髓,领略其层次化设计的魅力。 🔌 核心组件全解析&#xff…

【嵌入式学习】Qtday03.26

一、思维导图 二、练习 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_login_btn_clicked() {if(ui->…

OC对象 - Block解决循环引用

文章目录 OC对象 - Block解决循环引用前言1. 循环引用示例1.1 分析 2. 解决思路3. ARC下3.1 __weak3.2 __unsafe_unretained3.3 __block 4. MRC下4.1 __unsafe_unretain....4.1 __block 5. 总结5.1 ARC下5.2 MRC下 OC对象 - Block解决循环引用 前言 本章将会通过一个循环引用…

flask_restful的基本使用

优势: Flask-Restful 是一个专门用来写 restful api 的一个插件。 使用它可以快速的集成restful api 接口功能。 在系统的纯api 的后台中,这个插件可以帮助我们节省很多时间。 缺点: 如果在普通的网站中,这个插件就没有优势了&…

测试环境搭建整套大数据系统(十二:挂载磁盘到hadoop环境)

一:链接硬盘 将硬盘连接到计算机的 SATA 接口或 USB 接口,并确保硬盘通电并处于可用状态。 二:查看硬盘信息 sudo fdisk -l三:创建分区 gdisk /dev/vbd重新扫描磁盘 partprobe /dev/vdb格式化磁盘 mkfs.ext4 /dev/vdb2查看磁…

前端学习之css基本网格布局

网格布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网格布局</title><style>.a{/* grid网格布局 */display: grid;width: 400px;height: 400px;border: 1px solid red;/* 设置当前…

iOS开发之SwiftUI

iOS开发之SwiftUI 在iOS开发中SwiftUI与Objective-C和Swift不同&#xff0c;它采用了声明式语法&#xff0c;相对而言SwiftUI声明式语法简化了界面开发过程&#xff0c;减少了代码量。 由于SwiftUI是Apple推出的界面开发框架&#xff0c;从iOS13开始引入&#xff0c;Apple使用…