Oracle 公司准备在 “java.net.http” 包下引入新的 HTTP 2 Client API。它将同时支持 HTTP/1.1 和 HTTP/2 协议,也同时支持同步(Blocking Mode)和异步模式,支持 WebSocket API 使用中的异步模式。
HTTP 2 Client 示例
jshell> import java.net.http.* jshell> import static java.net.http.HttpRequest.* jshell> import static java.net.http.HttpResponse.* jshell> URI uri = new URI("http://rams4java.blogspot.co.uk/2016/05/java-news.html") uri ==> http://rams4java.blogspot.co.uk/2016/05/java-news.html jshell> HttpResponse response = HttpRequest.create(uri).body(noBody()).GET().response() response ==> java.net.http.HttpResponseImpl@79efed2d jshell> System.out.println("Response was " + response.body(asString()))
可以通过我的初体验之: Java SE 9: HTTP 2 Client ,理解 HTTP/2 协议和 WebSocket,以及使用一些有用的示例对比新 API 的优势和旧 OLD API 的缺陷。
14. Мulti-Resolution Image API在 Java SE 9 中,Oracle 公司将引入一个新的 Мulti-Resolution Image API。这个 API 中比较重要的接口是 MultiResolutionImage ,在 java.awt.image 包下可获取到。
MultiResolutionImage 封装不同高度和宽度图片(不同解决方案)到一个集合中,并允许我们按需查询使用。
想理解这个 API 的更多信息,可参考我的初体验之: Java SE 9: Мulti-Resolution Image API 。
15. Miscellaneous Java 9 Features在这个部分,我将列出 Java SE 9 新特性中其它一些内容。当然,这并不是这些内容就不重要。使用一些示例去理解他们也是非常重要并且很实用的。
截至目前,我并没有获取到这些特性的足够多信息。这就是为什么我将他们简单列举至此的原因。我也会一个一个去获取信息并采用一些示例来说明这个部分列举的特性内容。并且会在晚些写成一个独立的体验部分。
GC (Garbage Collector) Improvements
Stack-Walking API
Filter Incoming Serialization Data
Deprecate the Applet API
Indify String Concatenation
Enhanced Method Handles
Java Platform Logging API and Service
Compact Strings
Parser API for Nashorn
Javadoc Search
HTML5 Javadoc
后面我将逐个搜集这些 java 9 中的特性,并使用足够的描述性文字和示例代码予以解释。
至此,上述就是 java 9 中所有新引进的特性,一些简介和示例代码。