JDK新版本特性详解

Java语言JDK新版本中重要特性详细解析,包含从JDK 9 ~ 最新发布的 OpenJDK 版本 。

时间1~2天。

并发、流和 NIO

  • Flow API
  • Sequenced Collections
  • 虚拟线程Virtual Threads
  • HTTP/2 Client
  • Simple Web Server
  • Unix-Domain Socket Channels

语法

  • Records
  • 密封类和接口
  • var语法
  • Switch表达式
  • 加强的 instanceof
  • 文本块
  • Unnamed Variables & Patterns
  • Stream Gatherers

GC

  • G1为默认GC
  • 分代ZGC
  • GC接口
  • Epsilon: No-Op GC
  • Shenandoah GC

JVM 和编译

  • Elastic Metaspace
  • Foreign Function & Memory API
  • Class-File API
  • AOT类加载和链接
  • Heap Allocation on Alternative Memory Devices
  • Reimplement Core Reflection
  • Microbenchmark Suite
  • Compact Object Headers
  • JVM编译接口

模块化和 CDS

  • Module System
  • 模块化 Image
  • JDK Internals 包装
  • AppCDS

安全

  • TLS 1.3
  • PKCS12 Keystores
  • 根证书
  • SecureRandom
  • 算法 SHA-3, ChaCha20和Poly1305, EdDSA
  • Key Encapsulation Mechanism API

运行环境和打包工具

  • 源码文件和Main方法
  • jshell
  • jlink
  • 多版本Jar
  • Packaging Tool

日志监控和代码文档

  • JFR 和 JFR Streaming
  • Unified JVM/GC Logging
  • Code Snippets
  • UTF-8 by Default
  • Markdown文档

未来特性

  • Vector API
  • String Template

移除的功能

  • 移除 Java EE and CORBA Modules
  • 移除 CMS GC
  • 移除 Nashorn JavaScript Engine
  • 移除 Security Manager

升级重点考虑因素

  • JEE API升级,Migrate工具运用
  • GC选择
  • 流和并发库的应用