JDK 11 将引入低延迟 GC,大幅度缩短 GC 暂停时长
之前我们报导过 JDK 11 进入特性冻结阶段,今天来看看 JEP 333 为了大幅减少 GC 暂停时间的可伸缩低延迟垃圾回收器 ZGC(Scalable Low-Latency Garbage Collector )。
GC 一直以来是 Java 的主要优势之一,但是,当垃圾回收暂停时间过长时,会对应用程序的响应时间产生负面影响,而现代系统中可用的内存量不断增长,用户和应用开发人员希望 JVM 能够以高效的方式充分利用此内存,并且不要有过长的 GC 暂停时间。此次将新增的 ZGC 功能,能够消除或大幅缩短 GC 暂停的时间。
ZGC 有以下几个目标:
GC 暂停时间不应超过 10 ms
处理堆的大小范围从相对较小(几百 M)到非常大(几 T)不等
与使用 G1 相比,应用程序吞吐量减少不超过 15%
为未来的 GC 功能和优化利用有色指针(colored pointers)和加载屏障(load barriers)奠定基础
初始支持平台:Linux/x64
ZGC 是一个并发的、单代的、基于区域的、NUMA 感知的压缩收集器,Stop-the-world 阶段仅限于根扫描,因此 GC 暂停时间不会随堆或活动集(live set)的变大而增加。
ZGC 的核心设计原则/选择是将加载屏障与有色对象指针(colored oops)结合使用,这使得 ZGC 能够在 Java 应用程序线程运行时执行并发操作,例如对象重定向。从 Java 线程的角度来看,在 Java 对象中加载引用字段的行为受到加载屏障的影响。除了对象地址之外,colored oops 还包含加载屏障使用的信息,以确定在允许 Java 线程使用指针之前是否需要采取某些操作。例如,对象有可能已经被重定向,那么加载屏障将对此进行检测并采取适当的操作。
JEP 333 还展示了 ZGC 的性能等详细信息,访问 http://openjdk.java.net/jeps/333 查看。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
TIOBE 7 月编程语言榜:TypeScript 进入前 50 名
TIOBE 7 月编程语言指数排行榜已经公布了,本月主角还是 TypeScript。 先看一下前 20 名: 前几名地位依旧稳固,其中 C 还是以令人吃惊的速度,持续大幅度地暴涨,只不过由于 Java 也没落后,所以相比上个月,两者在 7 月反而拉开了一些距离。 需要注意的是,SQL自 2018 年 2 月起被重新添加到了 TIOBE 排行榜中,由于没有以往的数据可以对比,所以会给人 SQL 语言指数突然暴涨的错觉。 虽然没进入20 强,但是 TypeScript 当之无愧成为本月的焦点。在上个月的榜单中,TypeScript 首次进入 TIOBE 指数前 100 名,显示出它越来越受到开发者青睐,而本月,它更是跳到了第 50 名,跨过了 50 的槛。TypeScript 是 JavaScript 的一个严格超集,它为 JavaScript 增加了很多额外的类型安全,前景是被看好的。目前 Angular 越来越受欢迎,而它正是完全专注于 TypeScript,这与 TypeScript 的流行有一定关系。另外,虽然目前大型 JavaScript 框架React 尚未采用 TypeScr...
- 下一篇
知名游戏开发者称 C++ 是一种非常糟糕、可怕的语言
抛出一个问题:C++ 真的很可怕吗? 2016 年底,C++ 之父 Bjarne Stroustrup在一次采访中表示:”C++ 让编程专家很容易编写出复杂、高性能、低资源消耗的代码,但不足以成为广大普通程序员喜爱的语言,它需要简化。“他努力说服 ISO C++ 标准委员会的专家和编程教师,希望他们在 C++ 的开发和讲授中使用更简单的方式,而不仅仅专注于最优化和最聪明的技巧,他认为”简单的表述方式才是最优化的方案“。 C++ 的复杂程度连创造者都觉得需要做些改变,它越来越复杂,似乎是业界公认的,同时也给一些开发者带来困扰。近日,有媒体报导,在对著名独立视频游戏开发者、知名游戏”Braid“和”The Witness“的作者Jonathan Blow 进行采访时,他表示,C++ 太复杂了,严重影响了他的工作,他被迫在项目中工作时停下来思考编程可以悲惨到什么程度,并开发了自己的 Jai 语言来替代 C++。 Jonathan 认为 C++ 是一种非常糟糕、可怕的语言。他说 C++ 的主要缺陷在于它是一个非常复杂和分层的生态系统,在解决不同问题的过程中变得越来越复杂;层数越多,堆叠越高,变...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群