成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java11的新特性

April / 1695人閱讀

摘要:從版本開始,不再多帶帶發(fā)布或者版本了,有需要的可以自己通過去定制官方解讀官方細(xì)項(xiàng)解讀穩(wěn)步推進(jìn)系列六的小試牛刀一文讀懂的為何如此高效棄用引擎

Java語言特性系列

Java5的新特性

Java6的新特性

Java7的新特性

Java8的新特性

Java9的新特性

Java10的新特性

Java11的新特性

Java12的新特性

Java13的新特性

本文主要講述一下Java11的新特性

版本號(hào)
java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

General-Availability Release版本是基于tag為jdk-11+28的版本編譯

從version信息可以看出是build 11+28

特性列表

181: Nest-Based Access Control

相關(guān)解讀Java Nestmate穩(wěn)步推進(jìn),Specification for JEP 181: Nest-based Access Control
簡(jiǎn)單的理解就是Class類新增了getNestHost,getNestMembers方法

309: Dynamic Class-File Constants

相關(guān)解讀Specification for JEP 309: Dynamic Class-File Constants (JROSE EDITS)
jvm規(guī)范里頭對(duì)Constant pool新增一類CONSTANT_Dynamic

315: Improve Aarch64 Intrinsics

對(duì)于AArch64處理器改進(jìn)現(xiàn)有的string、array相關(guān)函數(shù),并新實(shí)現(xiàn)java.lang.Math的sin、cos、log方法

318: Epsilon: A No-Op Garbage Collector

引入名為Epsilon的垃圾收集器,該收集器不做任何垃圾回收,可用于性能測(cè)試、短生命周期的任務(wù)等,使用-XX:+UseEpsilonGC開啟

320: Remove the Java EE and CORBA Modules(重磅)

將java9標(biāo)記廢棄的Java EE及CORBA模塊移除掉,具體如下:(1)xml相關(guān)的,java.xml.ws, java.xml.bind,java.xml.ws,java.xml.ws.annotation,jdk.xml.bind,jdk.xml.ws被移除,只剩下java.xml,java.xml.crypto,jdk.xml.dom這幾個(gè)模塊;(2)java.corba,java.se.ee,java.activation,java.transaction被移除,但是java11新增一個(gè)java.transaction.xa模塊

321: HTTP Client (Standard)(重磅)

相關(guān)解讀java9系列(六)HTTP/2 Client (Incubator),HTTP Client Examples and Recipes,在java9及10被標(biāo)記incubator的模塊jdk.incubator.httpclient,在java11被標(biāo)記為正式,改為java.net.http模塊。

323: Local-Variable Syntax for Lambda Parameters

相關(guān)解讀New Java 11 Language Feature: Local-Variable Type Inference (var) extended to Lambda Expression Parameters
允許lambda表達(dá)式使用var變量,比如(var x, var y) -> x.process(y),如果僅僅是這樣寫,倒是無法看出寫var有什么優(yōu)勢(shì)而且反而覺得有點(diǎn)多此一舉,但是如果要給lambda表達(dá)式變量標(biāo)注注解的話,那么這個(gè)時(shí)候var的作用就突顯出來了(@Nonnull var x, @Nullable var y) -> x.process(y)

324: Key Agreement with Curve25519 and Curve448

使用RFC 7748中描述的Curve25519和Curve448實(shí)現(xiàn)key agreement

327: Unicode 10

升級(jí)現(xiàn)有的API,支持Unicode10.0.0

328: Flight Recorder

相關(guān)解讀Java 11 Features: Java Flight Recorder
Flight Recorder以前是商業(yè)版的特性,在java11當(dāng)中開源出來,它可以導(dǎo)出事件到文件中,之后可以用Java Mission Control來分析??梢栽趹?yīng)用啟動(dòng)時(shí)配置java -XX:StartFlightRecording,或者在應(yīng)用啟動(dòng)之后,使用jcmd來錄制,比如
$ jcmd  JFR.start
$ jcmd  JFR.dump filename=recording.jfr
$ jcmd  JFR.stop

329: ChaCha20 and Poly1305 Cryptographic Algorithms

實(shí)現(xiàn) RFC 7539的ChaCha20 and ChaCha20-Poly1305加密算法

330: Launch Single-File Source-Code Programs(重磅)

相關(guān)解讀Launch Single-File Source-Code Programs in JDK 11
有了這個(gè)特性,可以直接java HelloWorld.java來執(zhí)行java文件了,無需先javac編譯為class文件然后再java執(zhí)行class文件,兩步合成一步

331: Low-Overhead Heap Profiling

通過JVMTI的SampledObjectAlloc回調(diào)提供了一個(gè)開銷低的heap分析方式

332: Transport Layer Security (TLS) 1.3(重磅)

支持RFC 8446中的TLS 1.3版本

333: ZGC: A Scalable Low-Latency Garbage Collector(Experimental)(重磅)

相關(guān)解讀JDK11的ZGC小試牛刀,一文讀懂Java 11的ZGC為何如此高效

335: Deprecate the Nashorn JavaScript Engine

相關(guān)解讀Oracle棄用Nashorn JavaScript引擎,Oracle GraalVM announces support for Nashorn migration
廢除Nashorn javascript引擎,在后續(xù)版本準(zhǔn)備移除掉,有需要的可以考慮使用GraalVM

336: Deprecate the Pack200 Tools and API

廢除了pack200以及unpack200工具以及java.util.jar中的Pack200 API。Pack200主要是用來壓縮jar包的工具,不過由于網(wǎng)絡(luò)下載速度的提升以及java9引入模塊化系統(tǒng)之后不再依賴Pack200,因此這個(gè)版本將其移除掉。
細(xì)項(xiàng)解讀

上面列出的是大方面的特性,除此之外還有一些api的更新及廢棄,主要見What"s New in JDK 11 - New Features and Enhancements以及90 New Features (and APIs) in JDK 11,這里舉幾個(gè)例子。

添加項(xiàng)

Collection.toArray(IntFunction)

    @Test
    public void testCollectionToArray(){
        Set names = Set.of("Fred", "Wilma", "Barney", "Betty");
        String[] copy = new String[names.size()];
        names.toArray(copy);
        System.out.println(Arrays.toString(copy));
        System.out.println(Arrays.toString(names.toArray(String[]::new)));
    }
Collection類新增toArray(IntFunction)的default方法,可以直接通過傳入IntFunction告知要轉(zhuǎn)換的目標(biāo)類型

String.strip

    @Test
    public void testStrip(){
        String text = "  u2000a  b  ";
        Assert.assertEquals("a  b",text.strip());
        Assert.assertEquals("u2000a  b",text.trim());
        Assert.assertEquals("a  b  ",text.stripLeading());
        Assert.assertEquals("  u2000a  b",text.stripTrailing());
    }
java11對(duì)String類新增了strip,stripLeading以及stripTrailing方法,除了strip相關(guān)的方法還新增了isBlank、lines、repeat(int)等方法

添加了Google Trust Services GlobalSign Root Certificates

添加了GoDaddy Root Certificates

添加了T-Systems, GlobalSign and Starfield Services Root Certificates

添加了Entrust Root Certificates

移除項(xiàng)

移除了com.sun.awt.AWTUtilities

移除了sun.misc.Unsafe.defineClass,使用java.lang.invoke.MethodHandles.Lookup.defineClass來替代

移除了Thread.destroy()以及 Thread.stop(Throwable)方法

移除了sun.nio.ch.disableSystemWideOverlappingFileLockCheck、sun.locale.formatasdefault屬性

移除了jdk.snmp模塊

移除了javafx,openjdk估計(jì)是從java10版本就移除了,oracle jdk10還尚未移除javafx,而java11版本則oracle的jdk版本也移除了javafx

移除了Java Mission Control,從JDK中移除之后,需要自己多帶帶下載

移除了這些Root Certificates :Baltimore Cybertrust Code Signing CA,SECOM ,AOL and Swisscom

廢棄項(xiàng)

廢棄了Nashorn JavaScript Engine

廢棄了-XX+AggressiveOpts選項(xiàng)

-XX:+UnlockCommercialFeatures以及-XX:+LogCommercialFeatures選項(xiàng)也不再需要

廢棄了Pack200工具及其API

小結(jié)

java11是java改為6個(gè)月發(fā)布一版的策略之后的第一個(gè)LTS(Long-Term Support)版本(oracle版本才有LTS),這個(gè)版本最主要的特性是:在模塊方面移除Java EE以及CORBA模塊,在JVM方面引入了實(shí)驗(yàn)性的ZGC,在API方面正式提供了HttpClient類。

從java11版本開始,不再多帶帶發(fā)布JRE或者Server JRE版本了,有需要的可以自己通過jlink去定制runtime image

doc

JDK11

JDK11 Features

Introducing Java SE 11(官方解讀)

JDK 11 Release Notes(官方細(xì)項(xiàng)解讀)

What is new in Java 11 ?

Java Nestmate穩(wěn)步推進(jìn)

Specification for JEP 181: Nest-based Access Control

Specification for JEP 309: Dynamic Class-File Constants (JROSE EDITS)

Java 11 Features: Java Flight Recorder

java9系列(六)HTTP/2 Client (Incubator)

Java 11: Standardized HTTP Client API

java.net.http javadoc

HTTP Client Examples and Recipes

New Java 11 Language Feature: Local-Variable Type Inference (var) extended to Lambda Expression Parameters

JDK11的ZGC小試牛刀

一文讀懂Java 11的ZGC為何如此高效

Oracle棄用Nashorn JavaScript引擎

Oracle GraalVM announces support for Nashorn migration

JDK 11: New Default Collection Method toArray(IntFunction)

90 New Features (and APIs) in JDK 11

APIs To Be Removed from Java 11

Java 11 String API Updates

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77285.html

相關(guān)文章

  • Java12的新特性

    摘要:的這個(gè)特性新增了兩個(gè)參數(shù)分別是及,設(shè)置為的話,表示禁用。語法層面引入了版本的層面引入了,引入,讓支持,對(duì)等新增方法方面引入了版本的,不過的沒有另外主要對(duì)及進(jìn)行了改進(jìn)其中對(duì)支持了,默認(rèn)是開啟,使用可以禁用對(duì)于則新增支持以及特性 Java語言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新...

    liujs 評(píng)論0 收藏0
  • 即將到來的java11的新特性

    摘要:將摒棄的部分將移除和最近更名為模塊同時(shí)也會(huì)移除新增功能垃圾收集器被稱為收集器,將處理內(nèi)存分配而不實(shí)施任何實(shí)際的內(nèi)存回收機(jī)制。統(tǒng)計(jì)下目前的垃圾收集器,允許在聲明隱式類型的表達(dá)式的形式參數(shù)時(shí)使用類文件格式將被擴(kuò)展為支持一個(gè)新的常量池形式。 java11將摒棄的部分 Java 11 將移除 CORBA 和 Java EE(最近更名為 Jakarta EE)模塊同時(shí)也會(huì)移除 JavaFX ja...

    jubincn 評(píng)論0 收藏0
  • Java6的新特性

    摘要:語言特性系列的新特性的新特性的新特性的新特性的新特性的新特性的新特性的新特性的新特性序本文梳理了下的新特性,相對(duì)于而言,的特性顯得少些,分量也不那么重,相當(dāng)于是,有點(diǎn)像。 Java語言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性 序...

    leeon 評(píng)論0 收藏0
  • Java9的新特性

    摘要:新特性概述系列一安裝及使用系列二運(yùn)行系列三模塊系統(tǒng)精要系列四更新系列五系列六系列七系列八系列九與的區(qū)別遷移注意事項(xiàng)參數(shù)遷移相關(guān)選項(xiàng)解析使用構(gòu)建實(shí)例使用示例帶你提前了解中的新特性 Java語言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性...

    ddongjian0000 評(píng)論0 收藏0
  • 聊聊 Java8 以后各個(gè)版本的新特性

    摘要:于是抽時(shí)間看了看以后各個(gè)版本的特性,做了一個(gè)總結(jié)。年和公開版本發(fā)布,取名為。此后對(duì)應(yīng)版本就是,。發(fā)布,是一個(gè)重大版本更新。在此之后,就是每六個(gè)月發(fā)布一次新版本。以上和參考資料聊了一些關(guān)于的歷史,下面我們看看各個(gè)版本有那些新特性。 【這是 ZY 第 11 篇原創(chuàng)技術(shù)文章】 某天在網(wǎng)上閑逛,突然看到有篇介紹 Java 11 新特性的文章,頓時(shí)心里一驚,畢竟我對(duì)于 Java 的版本認(rèn)識(shí)...

    K_B_Z 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<