弃梦人 发表于 2021-10-14 17:36:32

Java 9 新特性有哪些

  Java9发布于2017年9月22日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍Java9的新特性。
(图片来源于公开网络,若涉及侵权联系尽快删除!)

  Java9新特性

  模块系统:模块是一个包的容器,Java9最大的变化之一是引入了模块系统(Jigsaw项目)。

  REPL(JShell):交互式编程环境。

  HTTP2客户端:HTTP/2标准是HTTP协议的最新版本,新的HTTPClientAPI支持WebSocket和HTTP2流以及服务器推送特性。

  改进的Javadoc:Javadoc现在支持在API文档中的进行搜索。另外,Javadoc的输出现在符合兼容HTML5标准。

  多版本兼容JAR包:多版本兼容JAR功能能让你创建仅在特定版本的Java环境中运行库程序时选择使用的class版本。

  集合工厂方法:List,Set和Map接口中,新的静态工厂方法可以创建这些集合的不可变实例。

  私有接口方法:在接口中使用private私有方法。我们可以使用private访问修饰符在接口中编写私有方法。

  进程API:改进的API来控制和管理操作系统进程。引进java.lang.ProcessHandle及其嵌套接口Info来让开发者逃离时常因为要获取一个本地进程的PID而不得不使用本地代码的窘境。

  改进的StreamAPI:改进的StreamAPI添加了一些便利的方法,使流处理更容易,并使用收集器编写复杂的查询。

  改进try-with-resources:如果你已经有一个资源是final或等效于final变量,您可以在try-with-resources语句中使用该变量,而无需在try-with-resources语句中声明一个新变量。

  改进的弃用注解@Deprecated:注解@Deprecated可以标记JavaAPI状态,可以表示被标记的API将会被移除,或者已经破坏。

  改进钻石操作符(DiamondOperator):匿名类可以使用钻石操作符(DiamondOperator)。

  改进Optional类:java.util.Optional添加了很多新的有用方法,Optional可以直接转为stream。

  多分辨率图像API:定义多分辨率图像API,开发者可以很容易的操作和展示不同分辨率的图像了。

  改进的CompletableFutureAPI:CompletableFuture类的异步机制可以在ProcessHandle.onExit方法退出时执行操作。

  轻量级的JSONAPI:内置了一个轻量级的JSONAPI

  响应式流(ReactiveStreams)API:Java9中引入了新的响应式流API来支持Java9中的响应式编程。

  更多的新特性可以参阅官网:What'sNewinJDK9

  JDK9下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-doc-downloads-3850606.html

  在关于Java9文章的实例,我们均使用jdk1.9环境,你可以使用以下命令查看当前jdk的版本:$ java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+163)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+163, mixed mode)




页: [1]
查看完整版本: Java 9 新特性有哪些