一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Oracle官方宣布 Java 11(18.9 LTS) 正式發(fā)布

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-10-08 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有多少語言在提刀想反超 Java的路上?但萬萬沒想到,人家并未當(dāng)回事,如今這款常青藤甚至越跑越歡,當(dāng)我們還在使用 Java 7/8 時,它已經(jīng)一路跑到了 11。

和預(yù)期的時間差不多,北京時間 9 月 26 日,Oracle 官方宣布 Java 11(18.9 LTS) 正式發(fā)布,可供生產(chǎn)環(huán)境中使用,此次版本的更新,不僅提高了工作效率,也提供了HTTP/2ClientAPI

同時,這也是自 Oracle 宣布以六個月為周期更新后發(fā)布的第一個長期支持版本。下載地址如下:

https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

JDK 11 主要特性

最新發(fā)布的 JDK 11 共帶來了 17 項更新:

181:Nest-Based Access Control(基于嵌套的訪問控制)

309:Dynamic Class-File Constants(動態(tài)類文件常量)

315:Improve Aarch64 Intrinsics(改進 Aarch64 內(nèi)部函數(shù))

318:Epsilon: A No-Op Garbage Collector(Epsilon:No-Op 垃圾收集器)

320:Remove the Java EE and CORBA Modules(刪除 Java EE 和 CORBA 模塊)

321:HTTP Client (Standard)(HTTP 客戶端)

323:Local-Variable Syntax for Lambda Parameters(Lambda 參數(shù)的變量語法)

324:Key Agreement with Curve25519 and Curve448(采用 Curve25519 和 Curve448 算法實現(xiàn)的密鑰協(xié)議)

327:Unicode 10

328:Flight Recorder(飛行記錄器)

329:ChaCha20 and Poly1305 Cryptographic Algorithms(ChaCha20 和 Poly1305 加密算法)

330:Launch Single-File Source-Code Programs(啟動單文件源代碼程序)

331:Low-Overhead Heap Profiling(低開銷堆分配采樣方法)

332:Transport Layer Security (TLS) 1.3(TLS 1.3 的傳輸層安全性)

333:ZGC: A Scalable Low-Latency Garbage Collector(Experimental)(ZGC:可擴展的低延遲垃圾收集器,在實驗階段)

335:Deprecate the Nashorn JavaScript Engine(棄用 Rhino JavaScript 引擎)

336:Deprecate the Pack200 Tools and API(棄用 Pack200 工具和 API)

開發(fā)者的角度來看,上面的特性中有幾點需要特別關(guān)注。

JEP 323 實現(xiàn)了 Java 10 中引入的局部變量類型推斷的擴展。類型推斷是從其余源代碼和鍵入規(guī)則中推導(dǎo)出的數(shù)據(jù)類型。這節(jié)省了開發(fā)者的工作時間,且不會使源代碼過于復(fù)雜,而提高了可讀性。

從 Java 10 開始,可以使用關(guān)鍵字 var 聲明局部變量,如下所示:

//FunktioniertseitJava10varzahl=5;//intvarstring="HelloWorld";//Stringvarobjekt=BigDecimal.ONE;//BigDecimal

在 Java 11 中,不同點在于開發(fā)者可以使用 var 聲明 lambda 參數(shù)。乍一看,這一舉措似乎有點多余,因為在寫代碼過程中可以省略 lambda 參數(shù)的類型,并通過類型推斷確定它們。但是,擴展名對于使用 @Nonnull 和 @Nullable 等類型注釋很有用。

//InferencevonLambda-ParameternConsumerprinter=(vars)->System.out.println(s);//statts->System.out.println(s);//aberkeineMischungvon"var"unddeklariertenTypenm?glich//BiConsumerprinter=(vars1,Strings2)->System.out.println(s1+""+s2);//NützlichfürTypeAnnotationsBiConsumerprinter=(@Nonnullvars1,@Nullablevars2)->System.out.println(s1+(s2==null?"":""+s2));

JDK 11 中另一個亮點在于仍處于實驗階段的新 HTTP Client API 的標(biāo)準(zhǔn)化,該 API 在 JDK 9 中被引入,在 JDK 10 中進行了更新,在本次 JDK 11 中包名由 jdk.incubator.http 改為 java.net.http。HTTP Client API 除了實現(xiàn)了HTTP(1.1和2)、WebSocket,同步和異步調(diào)用以及 Reactive Streams 現(xiàn)在也受支持。還使用清晰易懂的 Fluent 界面,將來可能會淘汰其他 HTTP 客戶端(如 Apache)的使用。

HttpClientclient=HttpClient.newHttpClient();HttpRequestrequest=HttpRequest.newBuilder().uri(URI.create("http://openjdk.java.net/")).build();client.sendAsync(request,asString()).thenApply(HttpResponse::body).thenAccept(System.out::println).join();

JEP 330(啟動單文件源代碼程序)現(xiàn)在可以啟動尚未編譯的類。如今單文件程序在編寫小實用程序時很常見,特別是腳本語言領(lǐng)域。從中開發(fā)者可以省去用 Java 編譯程序等不必要工作,以及減少新手的入門障礙。在基于 Java 10 的程序中可以通過三種方式啟動:

作為* .class文件

作為* .jar文件中的主類

作為模塊中的主類

現(xiàn)在,Java 11 中可以在源代碼文件中聲明類:

#javaHelloWorld.java//statt#javacHelloWorld.java#java-cp.hello.World

在 Unix 操作系統(tǒng)上,Java 文件甚至可以直接作為 Shebang 文件執(zhí)行:

#!/path/to/java--sourceversion

#./HelloWorld.java

其他值得注意的變化包括支持 Unicode 10 標(biāo)準(zhǔn)以及將 Profiler Flight Recorder 集成到 OpenJDK 中(之前僅適用于 Oracle JDK)。Flight Recorder 的目標(biāo)是盡可能高效地記錄應(yīng)用程序數(shù)據(jù),以便在出現(xiàn)問題時分析 Java 應(yīng)用程序和 JVM。

API 的變化

此外,Java 類庫也有不少小的改動。 特別是字符串:

|WelcometoJShell--Version11|Foranintroductiontype:/helpintro//UnicodezuStringjshell>Character.toString(100)$1==>"d"jshell>Character.toString(66)$2==>"B"http://ZeichenmitFaktormultiplizierenjshell>"-".repeat(20)$3==>"--------------------"http://Enth?lteinTextkeineZeichen(h?chstensLeerzeichen)?jshell>Stringmsg="hello"msg==>"hello"jshell>msg.isBlank()$5==>falsejshell>Stringmsg=""msg==>""jshell>msg.isBlank()$7==>true//AbschneidenvonführendenodernachgelagertenLeerzeichenjshell>"helloworld".strip()$8==>"helloworld"jshell>"helloworld".strip()$9==>"helloworld"jshell>"helloworld".stripTrailing()$10==>"helloworld"jshell>"helloworld".stripLeading()$11==>"helloworld"jshell>"".strip()$12==>""http://Textezeilenweiseverarbeitenjshell>Stringcontent="thisisamultilinecontent Mostlyobtainedfromsomefile whichwewillbreakintolines usingthenewapi"content==>"thisisamultilinecontent Mostlyobtainedfro...ines usingthenewapi"jshell>content.lines().forEach(System.out::println)thisisamultilinecontentMostlyobtainedfromsomefilewhichwewillbreakintolinesusingthenewapi

Java 11 計劃于本月,即 9 月 25 日發(fā)布。與 Java 10 不同,Java 11 不僅提供了長期支持,還將作為 Java 平臺的參考實現(xiàn)。新的長期支持版本每三年發(fā)布一次,根據(jù)后續(xù)的發(fā)布計劃,Java 17 將于 2021 年發(fā)布。

Java 11:刪除了什么?

Oracle JDK 將不再包含 JavaFX(OpenJDK 從未提供過)。相反,JavaFX 通過 OpenJFX 作為單獨的下載提供,并且可以像任何 Java 應(yīng)用程序中的任何其他庫一樣使用。除 JavaFX 外,還將停止對 Applet 和 Java Web Start 的支持。如果仍然想使用 Java Web Start,那么必須保持在 JDK 8 的版本,直至 Oracle 停止免費更新后,花錢購買該服務(wù)。

另一個在 Java 11 中被棄用的 JavaScript 引擎 Rhino。預(yù)計它將在 Java 的未來版本中徹底消失。不過值得注意的是,Rhino 從未真正將自己斷言為 Node.js 上的服務(wù)器端 JavaScript 實現(xiàn)基礎(chǔ)。通過 GraalVM,Oracle 現(xiàn)在采用其他方式在 JVM 上本地運行其他編程語言。

順便說一下,從 Java 11 開始,Java 運行時環(huán)境(JRE)將僅存在于服務(wù)器版本中,而不再存在于桌面中。但是,對于具有模塊系統(tǒng)和 jlink 工具的桌面應(yīng)用程序,開發(fā)者現(xiàn)在可以輕松創(chuàng)建或調(diào)整運行時環(huán)境。

JDK 11 是否值得更新?

今年四月,Oracle 發(fā)布官方聲明表示即將停止對 JDK 8 的正常支持(免費更新):

2019 年 1 月之后,Oracle 將不會在其網(wǎng)站上發(fā)布 Java SE 8 商業(yè)使用的進一步更新下載。如需持續(xù)獲取安全的 Bug 修復(fù)和安全補丁以及 Java SE 8 或以前版本的穩(wěn)定性支持,可以通過 Oracle Java SE 高級版、Oracle Java SE 高級桌面、或 Oracle Java SE 套件。

這意味著,在 2019 年 1 月之后,開發(fā)者想要使用老版本只能付費了,從中也側(cè)面看出,Oracle 在間接性鼓勵用戶主動升級。不過,據(jù)各種對 Java 用戶調(diào)查如 Jaxenter發(fā)現(xiàn),大多數(shù)的開發(fā)者依舊停留在 Java 8 以內(nèi)的版本。

其實,這也不足為怪,當(dāng)開發(fā)者剛開始吐槽新版本帶來的問題時,Java 已搭載上了火箭更新到了下一版本,讓大家措手不及。此前,就連Java Collection Framework 的創(chuàng)建者 Josh Bloch 都在吐槽Java 9 模塊系統(tǒng)(Project Jigsaw)帶來令人頭痛的問題,甚至建議:

現(xiàn)在說Project Jigsaw將在 JDK 之外實現(xiàn)廣泛使用還為時過早。與此同時,除非你有迫切需要,否則最好避免使用它們。

那么對于 JDK 11 是否值得立即更新使用?按照 Oracle 公布支持的路線圖來看,如文章開頭所述,Java 11 將會獲得 Oracle 長期的服務(wù)支持,直至 2026 年 9 月。相比 Java 9 和 10 這兩個僅提供半年技術(shù)支持的版本來說,JDK 11 的發(fā)布無疑對個人開發(fā)者以及企業(yè)都是一件好事。

那么,再結(jié)合其新特性,你會選擇更新到 JDK 11 嗎?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2988

    瀏覽量

    108467
  • Oracle
    +關(guān)注

    關(guān)注

    2

    文章

    299

    瀏覽量

    35942

原文標(biāo)題:Java 11 正式發(fā)布!

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導(dǎo)致數(shù)據(jù)丟失是一種常見情況。通常情況下,oracle數(shù)據(jù)庫誤操作刪除數(shù)據(jù)只需要通過備份恢復(fù)數(shù)據(jù)即可。也會碰到一些特殊情況,例如數(shù)據(jù)庫備份無法使用或者還原
    的頭像 發(fā)表于 06-05 16:01 ?272次閱讀
    <b class='flag-5'>oracle</b>數(shù)據(jù)恢復(fù)—<b class='flag-5'>oracle</b>數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    Ubuntu22.04 LTS部署zabbix7.0教程

    Ubuntu22.04 LTS部署zabbix7.0教程
    的頭像 發(fā)表于 04-11 15:34 ?454次閱讀
    Ubuntu22.04 <b class='flag-5'>LTS</b>部署zabbix7.0教程

    LTS7428TE/LTS7428TK N溝道增強型功率MOSFET規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《LTS7428TE/LTS7428TK N溝道增強型功率MOSFET規(guī)格書.pdf》資料免費下載
    發(fā)表于 03-24 11:17 ?0次下載

    英偉達GTC2025亮點:Oracle與NVIDIA合作助力企業(yè)加速代理式AI推理

    Oracle 數(shù)據(jù)庫與 NVIDIA AI 相集成,使企業(yè)能夠更輕松、快捷地采用代理式 AI Oracle 和 NVIDIA 宣布,NVIDIA 加速計算和推理軟件與 Oracle
    的頭像 發(fā)表于 03-21 12:01 ?646次閱讀
    英偉達GTC2025亮點:<b class='flag-5'>Oracle</b>與NVIDIA合作助力企業(yè)加速代理式AI推理

    Oracle 與 NVIDIA 合作助力企業(yè)加速代理式 AI 推理

    ——Oracle 和 NVIDIA 今日宣布,NVIDIA 加速計算和推理軟件與 Oracle 的 AI 基礎(chǔ)設(shè)施以及生成式 AI 服務(wù)首次實現(xiàn)集成,以幫助全球企業(yè)組織加速創(chuàng)建代理式 AI 應(yīng)用。 ? 此次
    發(fā)表于 03-19 15:24 ?342次閱讀
    <b class='flag-5'>Oracle</b> 與 NVIDIA 合作助力企業(yè)加速代理式 AI 推理

    LTS4008TE/LTS4008TK N溝道增強型功率MOSFET數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LTS4008TE/LTS4008TK N溝道增強型功率MOSFET數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-01 17:13 ?0次下載

    適用于Oracle的Devart Excel插件:輕松管理數(shù)據(jù)

    使用加載項將 Excel 連接到 Oracle Microsoft Excel 插件可以連接到 Oracle,能夠快速地將數(shù)據(jù)從 Oracle 加載到 Excel,且立即從數(shù)據(jù)庫刷新 Excel
    的頭像 發(fā)表于 01-14 11:11 ?484次閱讀
    適用于<b class='flag-5'>Oracle</b>的Devart Excel插件:輕松管理數(shù)據(jù)

    Java 23功能介紹

    功能。 跟上 Java 新版本的發(fā)布節(jié)奏可能很難,這意味著要解決一連串的問題——更改是什么、為什么要更改以及如何使用全新和更新的功能。 在這篇博文中,我將介紹 Java 23 的一些全新和更新
    的頭像 發(fā)表于 12-04 10:02 ?922次閱讀
    <b class='flag-5'>Java</b> 23功能介紹

    中軟國際參加openEuler 24.03 LTS版本發(fā)布

    國產(chǎn)操作系統(tǒng)的發(fā)展再次迎來了重要里程碑,開放原子開源基金會openEuler社區(qū)在北京舉辦openEuler 24.03 LTS版本發(fā)布會。這場大會不僅是一個版本的發(fā)布儀式,更是一次技術(shù)革新的展示,一個社區(qū)成員共同參與的盛會。
    的頭像 發(fā)表于 10-10 11:23 ?804次閱讀

    Oracle與亞馬遜云科技宣布建立戰(zhàn)略合作伙伴關(guān)系

    提高敏捷性、靈活性和安全性 北京2024年10月8日?/美通社/ -- 亞馬遜云科技與Oracle宣布推出Oracle Database@Amazon Web Services,支持企業(yè)在亞馬遜云
    的頭像 發(fā)表于 10-08 17:25 ?870次閱讀

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機房異常斷電后,Oracle數(shù)據(jù)庫啟庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。數(shù)據(jù)庫沒有備份,歸檔日志不連續(xù)。用戶方提供了
    的頭像 發(fā)表于 09-30 13:31 ?689次閱讀
    <b class='flag-5'>Oracle</b>數(shù)據(jù)恢復(fù)—異常斷電后<b class='flag-5'>Oracle</b>數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復(fù)案例

    甲骨文公司將RFID技術(shù)集成到Oracle融合云庫存管理中

    Oracle CloudWorld大會上,甲骨文公司宣布在其Oracle融合云供應(yīng)鏈和制造(SCM)套件中推出新的RFID補貨功能。這一功能旨在優(yōu)化醫(yī)療保健提供商的庫存管理,將RFID技術(shù)集成到
    的頭像 發(fā)表于 09-21 15:13 ?595次閱讀

    甲骨文發(fā)布Java 23

    全球領(lǐng)先的軟件開發(fā)企業(yè)甲骨文(Oracle)近日隆重宣布推出Java 23(Oracle JDK 23),這一里程碑式的更新標(biāo)志著全球排名第一的編程語言和開發(fā)平臺再次邁出堅實步伐。
    的頭像 發(fā)表于 09-19 16:36 ?641次閱讀

    Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫delete刪除的數(shù)據(jù)恢復(fù)方法

    刪除Oracle數(shù)據(jù)庫數(shù)據(jù)一般有以下2種方式:delete、drop或truncate。下面針對這2種刪除oracle數(shù)據(jù)庫數(shù)據(jù)的方式探討一下oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)方法(不考慮全庫備份和利用歸檔日志)。
    的頭像 發(fā)表于 09-11 11:45 ?663次閱讀

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    Java Web和Java是兩個不同的概念,它們在功能、用途和實現(xiàn)方式上存在一些區(qū)別,下面將詳細(xì)介紹它們之間的區(qū)別。 1. 功能和用途: – Java是一種編程語言,它提供了一種用于開發(fā)各種應(yīng)用程序
    的頭像 發(fā)表于 07-16 13:35 ?1413次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別