Files

java各个版本的特性

Java 8 (2014) - LTS

  • Lambda表达式:简化函数式编程[1][3]
  • Stream API:支持函数式数据流处理[1]
  • 接口默认方法与静态方法:允许接口包含实现[1]
  • 新的日期时间API(java.time):替代旧的Date/Calendar类[1]
  • Optional类:减少NullPointerException风险[1]

Java 9 (2017)

  • 模块化系统(Jigsaw):引入模块化编程[2]
  • JShell:交互式REPL工具[2]

Java 10 (2018)

  • 局部变量类型推断(var):简化局部变量声明[2]

Java 11 (2018) - LTS

  • HTTP Client API:标准化HTTP客户端[2]
  • 单文件源码直接运行:无需编译即可执行.java文件[2]

Java 12-17(非LTS版本)

  • Switch表达式增强(Java 12/13/14逐步完善, Java 14正式)[2]
  • 文本块(Text Blocks):简化多行字符串(Java 13预览,Java 15正式)[2]
  • Records:简化不可变数据类(Java 14预览,Java 16正式)[2]
  • Sealed Classes:限制类继承(Java 15预览,Java 17正式)[2]

Java 18-21

  • 模式匹配增强(instanceof、switch模式匹配)[2]
  • 虚拟线程(预览):轻量级并发模型(Java 19预览,Java 21正式)[2]

Java 22-24(部分特性为预览或实验性)

  • 分代Shenandoah垃圾收集器(Java 24)[4]
  • 紧凑对象标头:优化内存使用(Java 24)[4]
  • 限制JNI使用:提升安全性(Java 24)[4]
  • G1垃圾收集器扩展(Java 24)[4]