java10 特性指南

2018年3月20号,java10如期发布,主要的特性包括局部变量的类型推断,增强的垃圾收集器,编译优化。

java10 特性指南_第1张图片

Java 10 前世

Oracle在2017年宣布,采用敏捷开发的模式推进Java发展,Java的新版本每6个月发布一次。Oracle还希望之后的Java以发布时间命名,比如这次的Java版本起名Java 18.3 , 不过,反对开发者声强烈,Oracle目前还没有强制推行这一制度。

JDK 10 是一个短期版本,对于JDK 10 的更新可能只会维持6个月。接下来的JDK 11将是一个长期维护版(LTS)。长期支持版本每3年发布一次。

Java 10 今生

Java10包含12项关键特性:

  • 局部变量的类型推断
  • 将 JDK 的多个代码仓库合并到一个储存库中
  • 垃圾收集器接口
  • 向 G1 引入并行 Full GC
  • 应用类数据共享
  • 线程局部管控,允许停止单个线程
  • 移除 Native-Header Generation Tool (javah)
  • 额外的 Unicode 语言标签扩展
  • 在备用内存设备上分配堆内存
  • 基于 Java 的 JIT 编译器
  • 开源 Java SE Root CA 程序中的根证书
  • 基于时间的版本发布模式,“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug

Java 10 未来

从开发者社区来看,Java 10并没有那么受欢迎。var的引入从写代码角度来看,的确有提升,但是从读代码角度来看,是灾难性的。

Java如今的发展,越来越兼容并包其他优势语言的特性,从lambda表达式到var变量,都是在其他语言中被证明的优秀特性。

接下来的Java版本中,Oracle会考虑引入下面几个特性:
- Amber Project 该项目主要关注与本地类型推断,可以减少相关Java代码的编写;增强枚举,通过允许枚举类型变量和对枚举常量执行更精确的类型检查来提高枚举结构的适用场景;
- Panama 连接JVM和本机代码,以JVM的本地函数调用和JVM的本地数据访问为特色;
- Valhalla 高级Java VM和语言特性候选的孵化器项目,如泛型;
- Loom 主要关注于降低并发编程的代码难度。该计划要求添加可选的、基于用户模式的线程实现,定界延续以及涉及调用堆栈操作的其他概念。项目的主要目标是提供一个线程的替代实现,由用Java编写的调度程序管理。普通Java线程的Java编程模型将被保留,同时性能得到提高,内存占用减少。

你可能感兴趣的:(Java)