jdk11新特性——支持G1上的并行完全垃圾收集

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk11新特性——支持G1上的并行完全垃圾收集相关的知识,希望对你有一定的参考价值。

目录

一、支持G1上的并行完全垃圾收集

  • 对于 G1 GC,相比于 JDK 8,升级到 JDK 11 即可免费享受到:并行的 Full GC,快速的 CardTable 扫描,自适应的堆占用比例调整(IHOP),在并发标记阶段的类型卸载等等。
  • 这些都是针对 G1 的不断增强,其中串行 Full GC 等甚至是曾经被广泛诟病的短板,你会发现 GC 配置和调优在 JDK11 中越来越方便。

二、JEP 331 : Low-Overhead Heap Profiling免费的低耗能飞行记录仪和堆分析仪

  • 通过JVMTI的SampledObjectAlloc回调提供了一个开销低的heap分析方式提供一个低开销的, 为了排错java应用问题, 以及JVM问题的数据收集框架, 希望达到的目标如下 :
    (1)、提供用于生产和消费数据作为事件的API
    (2)、提供缓存机制和二进制数据格式
    (3)、允许事件配置和事件过滤
    (4)、提供OS,JVM和JDK库的事件

三、JEP 329 : 实现RFC7539中指定的ChaCha20和Poly1305两种加密算法, 代替RC4

  • 实现 RFC 7539的ChaCha20 and ChaCha20-Poly1305加密算法

  • RFC7748定义的秘钥协商方案更高效, 更安全. JDK增加两个新的接口XECPublicKey 和 XECPrivateKey

    KeyPairGenerator kpg = KeyPairGenerator.getInstance(XDH);
    NamedParameterSpec paramSpec = new NamedParameterSpec(X25519);
    kpg.initialize(paramSpec);
    KeyPair kp = kgp.generateKeyPair();
    
    KeyFactory kf = KeyFactory.getInstance(XDH);
    BigInteger u = new BigInteger(“xxx”);
    XECPublicKeySpec pubSpec = new XECPublicKeySpec(paramSpec, u);
    PublicKey pubKey = kf.generatePublic(pubSpec);
    
    KeyAgreement ka = KeyAgreement.getInstance(XDH);
    ka.init(kp.getPrivate());
    ka.doPhase(pubKey, true);
    byte[] secret = ka.generateSecret();
    

四、JEP 332最新的HTTPS安全协议TLS 1.3

  • 实现TLS协议1.3版本, TLS允许客户端和服务器端通过互联网以一种防止窃听, 篡改以及消息伪造的方式进行通信。

以上是关于jdk11新特性——支持G1上的并行完全垃圾收集的主要内容,如果未能解决你的问题,请参考以下文章

面试官:谈谈你对G1垃圾收集器都有哪些了解?

搞懂G1垃圾收集器

JDK10 新特性

GC垃圾回收 | 深入理解G1垃圾收集器和GC日志

jdk11新特性——新的Epsilon垃圾收集器

jdk11新特性——新的Epsilon垃圾收集器