当前位置: 首页 > article >正文

JVM/GC/G1

G1

  • JDK 7u4发行版时被正式推出
  • jdk11 默认GC是G1
  • 区域:新生代和老年代
  • 优点:使用标记整理算法,不会产生空间碎片
  • 目标:适应现在不断扩大的内存和不断增加的处理器数量,进一步降低暂停时间,同时兼顾良好的吞吐量
  • soft real-time(软实时)见下
  • Region-card(内存模型)见下
  • 分代收集算法见下
  • 三色标记法见下
  • 过程见下

soft real-time(软实时)

  • 实时垃圾回收,是指必须在要求的时间内完成垃圾回收
  • 软实时垃圾回收,是指尽量在要求的时间内完成垃圾回收

Region-card(内存模型)

  • Region:将整个堆空间分成若干个大小相等的内存区域
  • card:每个Region内部又被分成了若干个大小为512 Byte卡片(Card)。全局卡片表(Global Card Table)记录了所有Region的所有card。对象的分配和回收都是针对若干个card进行处理的。

分代收集

  • 在Region-card内存模型下建立的新生代,老年代,新生代包括伊甸区和幸存区。

三色标记法

  • 黑白灰三种颜色标记对象
  • 白色是未标记
  • 灰色自身被标记,引用的对象未标记
  • 黑色自身与引用对象都已标记

jdk11

# 打印所有的默认参数设置
java -XX:+PrintCommandLineFlags -version
-XX:G1ConcRefinementThreads=4 
-XX:GCDrainStackTargetSize=64 
-XX:InitialHeapSize=400996800 
-XX:MaxHeapSize=6415948800 
-XX:+PrintCommandLineFlags 
-XX:ReservedCodeCacheSize=251658240 
-XX:+SegmentedCodeCache 
-XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops 
-XX:+UseG1GC 
-XX:-UseLargePagesIndividualAllocation

http://www.kler.cn/news/10287.html

相关文章:

  • SpringBoot与RabbitMQ 集成以及死信队列,TTL,延迟队列
  • 为什么要创建FAQ?这篇文章告诉你
  • vue3中的全局防抖节流指令
  • Vue学习——【第五弹】
  • 【权限维持】域控后门SSPHOOKDSRMSID万能钥匙
  • 能聊天、会学习,远不是GPT的终局
  • Android—IMS的InputReader
  • 单片机程序是如何运行起来
  • python+vue+ 疫情冷链追溯管理系统
  • 数字中国理念引领国企人力资源数字化转型与实践
  • 2.29、共享内存(2)
  • Springboot整合Quartz实现定时任务数据库动态配置
  • Python数据分析:轻松实现数据处理、分析和可视化的入门教程
  • 代码自动发布系统
  • qt - 隐式共享与d-pointer技术
  • Android 11.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)
  • ptuning v2 的 chatglm垂直领域训练记录
  • 银行数字化转型导师坚鹏:金融科技与数字化转型成功案例
  • 腾讯云服务器TencentOS系统安装宝塔Linux面板命令
  • 软件管理 基础配置(运维笔记)
  • 所有知识付费都可以用 ChatGPT 再割一次?
  • 设计师都在用的6个免费设计素材网站~
  • 【C++】内联函数理解
  • d修复导入c的问题
  • MySQL日志
  • 如何驯化生成式AI,从提示工程 Prompt Engineering 开始
  • Day939.如何小步安全地升级数据库框架 -系统重构实战
  • 银行数字化转型导师坚鹏:ChatGPT解密与银行应用案例
  • 鸟哥的Linux私房菜 学习 Shell Scripts
  • 【CSS】实现梯形