跳至主要內容

Jdk版本

chenkun大约 2 分钟

开发者注意

Java版本现在6个月发布一个大版本,更新很快,但是对于web开发人员来说,代码层面其实新增的功能并不是那么多,开发人员只需要掌握几个主要的更新内容即可,重点关注LTS版本。

1、Jdk11对比jdk1.8

1.1 Java9

  1. 模块系统 模块是一个包的容器,Java 9 最大的变化之一是引入模块系统。(Jigsaw 项目) 作用:解决大型项目模块化开发的需求,更适合客户端软件,在打包时可以自定义依赖模块,根据所依赖的模块打包出一个包含jdk环境的软件,
    这样的好处是打包比较小,用户下载快,并且无需自己安装jdk环境。个人认为这项新特性对于web应用并不是那么重要,web应用无需考虑包的大小。

  2. 支持 HTTP/2 标准 HTTP/2 标准是 HTTP 协议的最新版本,新的 HTTPClient API 支持 Websocket 和 HTTP2 流以及服务器推送特性。

  3. 提供创建不可变集合的静态工厂方法 List、Set、Map 接口中,提供新的静态工厂方法直接创建不可变的集合实例。 作用:创建不可变集合更方便,一行代码就搞定,节省了开销。

  4. 私有接口方法 在接口中也允许编写 private 修饰的私有方法了。 作用:增强了接口的功能,提高了可扩展性。

  5. 轻量级的 JSON API 内置了一个轻量级的 JSON API。

  6. 引入响应式流 API Java 9 引入了新的响应式流 API。

1.2 Java10

  1. 增加var类型推断

1.3 Java11(LTS)

  1. HttpClient在java9引入,但是在java11进行优化升级