日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 9 –终极功能列表

發布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 9 –终极功能列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


這篇文章將針對即將到來的Java 9版本進行更新,新增功能 ( 最新更新:2014年 9月9日


OpenJDK開發正在加快速度:2014年3月Java 8發布之后,我們預計將進入2年的發布周期。 據報道,Java 9將于2016年發布,并且已經發布了針對該版本的早期JEP(JDK增強提案)列表。 此外,一些JSR(Java規范請求)已經在開發中,并且我們還添加了一些可能包含的其他功能的提示。

旗艦功能包括Jigsaw項目,顯著的性能改進和人們期待已久的API,包括:流程API更新,作為java.util一部分的JSON和一個資金處理API。 對于那些想掌握最新技術的人, 這里已經提供了 JDK 9早期訪問版本。

在本文中,我們將繼續圍繞Java 9的主要新功能及其最新內容進行更新。 因此,請繼續關注其他更新!

目錄

  • [已接受]拼圖項目–模塊化源代碼
  • [已接受] Process API更新
  • [已接受]輕量級JSON API
  • [已接受]貨幣和貨幣API
  • [已接受]改進的競爭鎖定
  • [已接受]分段代碼緩存
  • [已接受]智能Java編譯–第二階段
  • [預期] HTTP 2客戶端
  • [預期] Java中的REPL
  • 新功能從何而來?
  • 接受的功能

    1. Project Jigsaw –模塊化源代碼

    Jigsaw項目的目標是使Java模塊化并將JRE分解為可互操作的組件,這是Java 9最受關注的功能之一。此JEP是邁向Jigsaw的4步中的第一步 ,不會改變JRE的實際結構和JDK。 此步驟的目的是將JDK源代碼重組為模塊,增強構建系統以編譯模塊,并在構建時強制執行模塊邊界。 該項目最初是為Java 8設計的,但此后被推遲,并重新定位到Java 9。

    完成后,將允許創建按比例縮小的運行時Jar(rt.jar),以針對項目實際需要的組件進行自定義。 JDK 7和JDK 8 rt.jar具有約20,000個類,它們屬于JDK,即使其中的許多類并未真正用于特定環境中(盡管Java 8 緊湊型概要文件功能中包含部分解決方案)。 其背后的動機是使Java易于擴展到小型計算設備(物聯網),提高安全性和性能,并使開發人員更容易構建和維護庫。

    關于JEP 201的更多信息

    2.處理API更新

    到目前為止,使用Java控制和管理操作系統進程的能力有限。 例如,為了做一些簡單的事情,例如今天獲得流程PID,您將需要訪問本機代碼或使用某種解決方法。 不僅如此,每個平臺還需要不同的實現方式,以確保獲得正確的結果。

    在Java 9中,期望用于檢索Linux PID的代碼現在看起來像這樣:

    public static void main(String[] args) throws Exception {Process proc = Runtime.getRuntime().exec(new String[]{ "/bin/sh", "-c", "echo $PPID" });if (proc.waitFor() == 0){InputStream in = proc.getInputStream();int available = in.available();byte[] outputBytes = new byte[available];in.read(outputBytes);String pid = new String(outputBytes);System.out.println("Your pid is " + pid);} }

    要變成這樣(也支持所有操作系統):

    System.out.println("Your pid is " + Process.getCurrentPid());

    該更新將擴展Java與操作系統交互的能力:處理PID,進程名稱和狀態的新直接方法,以及枚舉JVM和進程等的能力。

    關于JEP 102的更多信息

    3.輕量級JSON API

    當前,有一些替代方法可用于處理Java中的JSON,此API的獨特之處在于它將成為語言的一部分,是輕量級的,并且將使用Java 8的新功能。它將直接通過java.util傳遞(與JSR 353不同)使用外部軟件包或其他替代方法 )。

    **代碼樣本即將推出!

    關于JEP 198的更多信息

    4.貨幣和貨幣API

    在Java 8中引入了新的Date and Time API之后,Java 9帶來了一個新的官方API,用于表示,傳輸和執行Money和Currency的綜合計算。 要了解有關該項目的更多信息,可以在Github上訪問JavaMoney。 代碼和用法示例已在此處提供。 以下是一些要點:

    Money amt1 = Money.of(10.1234556123456789, "USD"); // Money is a BigDecimal FastMoney amt2 = FastMoney.of(123456789, "USD"); // FastMoney is up to 5 decimal places Money total = amt1.add(amt2);

    新的貨幣類型:Money和FastMoney

    MonetaryAmountFormat germanFormat = MonetaryFormats.getAmountFormat( Locale.GERMANY);System.out.println(germanFormat.format(monetaryAmount)); // 1.202,12 USD

    根據不同國家格式化貨幣

    關于JSR 354的更多信息

    5.改善競爭性鎖定

    鎖爭用是許多多線程Java應用程序的性能瓶頸。 增強建議旨在改善Java對象監視器的性能,這些性能由不同的基準測試得出。 這些測試之一是Volano 。 它模擬了具有大量線程數和客戶端連接的聊天服務器,其中許多服務器試圖訪問相同的資源并模擬重型現實應用程序。

    這些壓力測試將JVM推到極限,并嘗試確定它們可以實現的最大吞吐量,通常以每秒消息數為單位。 該JEP雄心勃勃的成功指標是對22個不同基準的重大改進。 如果成功,這些性能改進將在Java 9中推出。

    關于JEP 143的更多信息

    6.分段代碼緩存

    Java 9的另一個性能改進來自JIT編譯器角度。 快速執行某些代碼區時,VM會將其編譯為本地代碼并將其存儲在代碼緩存中。 此更新旨在將代碼緩存分段到已編譯代碼的不同區域,以提高編譯器的性能。

    而不是單個區域,代碼緩存將根據代碼在緩存中的生命周期分為三部分:

    • 永久保留在緩存中的代碼(JVM內部/非方法代碼)
    • 壽命短(配置文件代碼,特定于某些條件)
    • 潛在的長壽命(非配置文件代碼)

    分割將允許進行一些性能改進。 例如,方法清除程序將能夠跳過非方法代碼并更快地執行操作。

    關于JEP 197的更多信息

    7. Smart Java編譯,第二階段

    Smart Java編譯工具或sjavac最初是在JEP 139上開發的 ,目的是通過在所有內核上運行javac編譯器來提高JDK的構建速度。 借助JEP 199,它進入了第二階段,將在第二階段進行改進和推廣,以便默認情況下可以使用它并構建JDK以外的其他項目。

    關于JEP 199的更多信息

    還有什么期望?

    8. HTTP 2客戶端

    HTTP 2.0尚未作為標準發布,但是它將很快提交以供最終審查,并且有望在Java 9發行之前完成。JEP 110將為Java定義并實現一個新的HTTP客戶端,它將取代HttpURLConnection,并實現HTTP 2.0和websockets。 它尚未作為公認的JEP發布,但針對Java 9,我們希望將其包含在內。

    HTTP 2.0 RFC的正式發布日期當前定為2015年2月,以Google的SPDY算法為基礎。 SPDY在HTTP 1.1上已顯示出極大的速度改進,范圍在11.81%到47.7%之間,并且其實現已存在于大多數現代瀏覽器中。

    關于JEP 110的更多信息

    9. Kulla項目– Java中的REPL

    最近宣布的Java 9不太可能出現,但可能會在2015年4月設定目標集成日期,從而按時完成。如今,還沒有“原生” Java方式實現REPL(讀-評估-打印-循環)。 意思是,如果您要運行幾行Java來快速地自行檢查它們,則必須將其全部包裝在單獨的項目或方法中。 流行的IDE以及其他解決方案(如Java REPL)都有REPL附加組件,但到目前為止,尚無官方方法可以這樣做– Project Kulla可能是答案。

    有關庫拉計劃的更多信息

    獎勵:新功能從何而來?

    JEP和JSR通常不會突然出現,這是將它們結合在一起的結構:

    • 組 –在廣泛的主題或特定代碼體系方面具有共同利益的個人和組織。 安全,網絡,Swing和HotSpot是一些示例。
    • 項目 –產生大量代碼,文檔或其他努力的工作。 必須由至少一個團體贊助。 最近的示例是Lambda項目,Jigsaw項目和Sumatra項目。
    • JDK增強建議 ( JEP )–允許在需要進一步探索時在JCP之前或與之并行地非正式地推廣新規范。 接受的JEP成為JDK路線圖的一部分,并分配一個版本號。
    • Java Specification Request ( JSR )–該功能的實際規范在此階段發生,可以通過組/項目,JEP或來自單個JCP(Java Community Process)成員來進行。 通常會為每個Java版本打開一個傘式JSR,而Java 9尚未實現。社區的各個成員也可以提出新的Java規范請求。


    翻譯自: https://www.javacodegeeks.com/2014/09/java-9-the-ultimate-feature-list.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Java 9 –终极功能列表的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。