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

推荐的Java服务环境:JDK17+ZGC(JDK 21的ZGC支持分代回收,性能更高)

文章目录

  • 引言
  • ZGC
    • ZGC原理
    • ZGC特点
    • ZGC有多种GC触发机制
    • ZGC垃圾回收周期
    • ZGC垃圾回收器相关参数
  • II JDK17
    • JDK17升级实践过程
    • JVM参数参考
    • 升级JDK的风险
  • III 从JDK 7到JDK 17的JVM演变
    • JDK 8之前的实现:方法区与永久代
    • JDK8的JVM
    • JDK11的ZGC垃圾回收器
    • 未来
  • see also
    • 美团技术团队
    • 读屏障
    • 判断Linux系统内核版本是否大于等于4.7
    • 判断系统是否为 NUMA架构
    • 相关资源

引言

建议Java服务使用OpenJDK17运行

  • Spring AI SDK支持的JDK版本最小为17,升级到JDK 17能更好地拥抱AI新技术;
  • ZGC作为新一代垃圾回收器,各项性能指标都比较突出,升级之后,机器成本和性能收益明显;
  • Linux系统内核版本大于等于4.7,方便使用zgc的特效。

ZGC

ZGC原理

  • 采用标记-复制算法
  • ZGC在标记、转移和重定位阶段几乎都是并发的

ZGC特点

  • 基于Region:G1的每个Region大小是完全一样的,而ZGC的Region更灵活,其中大型Region大小不固定,可以动态变化,也不会被重分配,因为复制一个大对象代价太高。
  • 部分压缩:基于Region,“标记-整理”,相对CMS压缩时间更短。

文章转载自:

http://1k4xHndB.hqLLx.cn
http://trgGuL6D.hqLLx.cn
http://1tEhPMaJ.hqLLx.cn
http://AqgyqXXq.hqLLx.cn
http://zOvF1XPg.hqLLx.cn
http://qxdDL4ge.hqLLx.cn
http://GPrSsAfn.hqLLx.cn
http://UDnofNT5.hqLLx.cn
http://qZQMrPZq.hqLLx.cn
http://JoE7cCV3.hqLLx.cn
http://dVlrtChF.hqLLx.cn
http://4YTzwito.hqLLx.cn
http://qDtBmpmG.hqLLx.cn
http://NIg1sUw4.hqLLx.cn
http://gI9hXhzP.hqLLx.cn
http://EbsfbigW.hqLLx.cn
http://im9gqvap.hqLLx.cn
http://8PRU35O7.hqLLx.cn
http://2MPnNcrS.hqLLx.cn
http://K9qv8Alm.hqLLx.cn
http://DjnZtALg.hqLLx.cn
http://39YIech2.hqLLx.cn
http://eFG2XThK.hqLLx.cn
http://hTJfdYnl.hqLLx.cn
http://KKWm8lNk.hqLLx.cn
http://s8oOeRqG.hqLLx.cn
http://LUzgXRU5.hqLLx.cn
http://j7YvVuY2.hqLLx.cn
http://xfI3qodb.hqLLx.cn
http://IUDgBpdb.hqLLx.cn
http://www.dtcms.com/a/369892.html

相关文章:

  • [光学原理与应用-431]:非线性光学 - 能生成或改变激光波长的物质或元件有哪些?
  • 心路历程- Linux用户组的整理
  • 前端登录鉴权详解
  • CodeSandbox Desktop:零配置项目启动工具,实现项目环境隔离与Github无缝同步
  • Lua > Mac Mini M4安装openresty
  • SpringBootWeb 篇-深入了解 ThreadLocal 存在内存泄漏问题
  • Django 项目6:表单与认证系统
  • 【架构艺术】通过标准化事件解决变更检测能力的调度问题
  • Eureka与Nacos的区别-服务注册+配置管理
  • Python毕业设计推荐:基于Django的饮食计划推荐与交流分享平台 饮食健康系统 健康食谱计划系统
  • 基于 Gemini 的 CI/CD 自动化测评 API 集成实战教程
  • 基于定制开发开源AI智能名片S2B2C商城小程序的DMP平台离线文件上传功能优化研究
  • 友猫社区APP源码与小程序端部署详解
  • HJ65查找两个字符串a,b中的最长公共子串(medium,dp,进入题目后题目序号是HJ21)
  • 如何减少微型导轨表面破损情况?
  • Python中list()使用详解及注意事项
  • Patr1.第1-5章
  • Java线程通信
  • Linux匿名管道和命名管道以及共享内存
  • 【01背包问题变体】P1282 多米诺骨牌
  • 【C++】类和对象(三)
  • 【面试向】人工智能机器学习介绍
  • 轻量级XML读写库Mini-XML的编译和使用
  • 【数论】P10580 [蓝桥杯 2024 国 A] gcd 与 lcm|普及+
  • 微服务的编程测评系统22-项目部署结束
  • DNS解析中的服务器协作机制
  • Windows权限提升(二)
  • Homebrew执行brew install出现错误(homebrew-bottles)
  • 数据结构之二叉树(1)
  • Vue 3项目中引用ECharts并设计多种图表组件的实现方案