1:新增字符串处理方法
2:全新 HTTP 客户端 API
3:Epsilon 垃圾收集器
3:全新垃圾收集器 ZGC
可伸缩的,低延迟的!!初始只支持 64 位,支持 TB 级的,
热对象置于 DRAM
冷对象置于 NVMe 闪存
ZGC 是一个并发,基于 region,压缩型的垃圾收集器,只有 root 扫描阶段会 STW(所有线程暂停),因此 GC 停顿时间不会随着堆的增长和存活对象的增长而变长。
用法:-XX:+UnlockExperimentalVMOptions -XX:+UseZGC
在 Window 中暂时没有提供
由 oracle 开发,承诺在数 TB 的堆上具有非常低的暂停时间,多层堆(即热对象置于 DRAM 和冷对象置于 NVMe 闪存),压缩堆
SWT 阶段:应用程序线程被暂停,以便 gc 执行其工作。当应用程序因为 GC 暂停时,这通常是由于 Stop The World 阶段。
ZGC 给 Hotspot Garbage Collectors 增加了两种新技术:着色指针和读屏障。
着色指针
着色指针是一种将信息存储在指针(或使用 Java 术语引用)中的技术。因为在 64 位平台上(ZGC 仅支持 64 位平台),指针可以处理更多的内存,因此可以使用一些位来存储状态。 ZGC 将限制最大支持 4Tb 堆(42-bits),那么会剩下 22 位可用,它目前使用了 4 位: finalizable, remap, mark0 和 mark1。
着色指针的一个问题是,当您需要取消着色时,它需要额外的工作(因为需要屏蔽信息位)。
多重映射
读屏障
读屏障是每当应用程序线程从堆加载引用时运行的代码片段(即访问对象上的非原生字段 non-primitive field):