Java 9-11 版本说明及新特性概述

Java版本更新的背景简单介绍

  Java在2018年3月发布了Java11-长期支持版本,之后每6个月加一个版本。没三年发布一个长期支持版本(LTS)。现在已经是Java14了,明年3月刚好三年要发布下一个LTS版本是Java17。

为啥这么搞呢?

  Java现在迭代的尿性是:重要的特性一般开发周期长,到下一个LTS版本发布,中间的版本是一些其他的特性,给大家尝尝鲜。这样新功能源源不断,给那些鸡血程序员用来爽的。我这种普通程序员一般给公司做做curd,新特性啥的用不到也没空管。。到LTS版本再一起研究。

那么应该怎么选择版本呢?

  简单的来说:生产要用LTS版本。如果自己随便玩一玩,越新鲜越好。

  为啥呢?

    现在的中间版本经发布后只支持六个月,而后面再出现bug啥的Oracle就不管你了。比如说现在最新的是Java14,你拿来搞生产了,出了问题严重的安全问题,然后Oracle默默的在Java11里面修好了,你咋办。。退回去11版本?哪有这种降级  的,万一不兼容  了咋办?还是先将就着再等Oracle出15个版本?就是这么纠结。。大家来看看Java11诞生以来修过多少bug了(下图来自:https://eng.wikipedia.org/wiki/java_version_history)。。你还敢用不再支持的中间版本吗?

Java 9-11 版本说明及新特性概述

--------------------------------- 简单描述下新特性---------------------------------------

新特性很多(Java9有81项JEP),列举重点的特性,新特性篇幅较长,另外一篇做详细解析

 Java 9

  • 引入了模块化(JPMS)
  • JShell
  • Collections类增加了简单的初始化方法of()
  • G1作为默认垃圾回收器

Java 10

  • 局部变量类型推导 - 可以使用var声明任何变量
  • Collectors的加强

Java 11

  • 各种加强: Stream, String, Collection
  • 标准化HTTP Client

 

---------------------------------

上一篇:Elasticsearch学习之路(二)_Elasticsearch安装与简单配置


下一篇:在Ubuntu 20.04 LTS中安装和设置UFW