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

歡迎訪問 生活随笔!

生活随笔

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

java

Java 8状态更新

發布時間:2023/12/3 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 8状态更新 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
即將到來的Java SE 8發行版的兩大新語言功能是Lambda Expressions和Modularity。 對于這兩者,這些天的狀態更新已經發布。 我會與您共享鏈接,因此您可能會在假期中通讀它們
Oracle計劃在2013年中期發布Java SE 8。

Lambda項目

Lambda項目以及JSR-335希望提供將代碼建模為Java中數據的方法-用非精確的俗語來說,它旨在將功能用作Java中的一流對象 。 為此,lambda項目希望為Java語言提供以下四個擴展:

  • Lambda表達式或閉包 ,使程序員可以以慣用語方式指定一段可執行代碼。 它們可以存儲在變量中,可以作為參數傳遞給方法,也可以用作方法的返回值。
  • 擴展目標鍵入以將Lambda表達式綁定到特定類型的對象(類型推斷)。 這些類型可以稱為功能接口 -僅使用一種方法的Java接口。
  • 方法和構造方法參考 ,允許程序員在要綁定到功能接口的對象上使用現有方法。
  • 默認或虛擬擴展方法,用于在不破壞現有實現的情況下(尤其是在集合庫中)向現有接口添加更多方法。
  • 為了給您一個想法,這是一段使用匿名內部類進行某些收集邏輯的代碼。 List students = // ... students.filter(new FilerFunction(){@Overridepublic boolean filter(Student s){return s.getEntryYear() == 2011;}}).map(new MapFunction<Student,Integer>(){@Overridepublic Integer map(Student s){return s.getGrade();}}).reduce(new ReduceFunction<Integer>(){@Overridepublic Integer reduce(Integer value1, Integer value2){Math.max(value1, value2);}});

    相反,以下代碼將其功能與Project Lambda結合使用:

    List students = // ... students.paralell().filter(s -> s.getEntryYear() == 2011).map(s -> s.getGrade()).reduce(Math::max);

    規范負責人和OpenJDK項目負責人Brian Goetz有關當前狀態的信息可以在Lambda州找到。

    在Project Jigsaw中,由Oracle領導的OpenJDK社區試圖將模塊化引入Java語言。 該方法將不同于OSGi,因為他們希望在語言級別上通過靜態編譯時間檢查來建立它。 甲骨文公司的員工總是說他們在努力使Jigsaw與OSGi兼容。
    Oracle首席平臺架構師和OpenJDK項目負責人Marc Reinhold描述了模塊化方法的三個原則:

    • 模塊化是一種語言構造 –在Java平臺中以標準方式支持模塊化編程的最佳方法是將語言本身擴展為支持模塊。 開發人員已經根據語言考慮了標準的程序組件,例如類和接口。 模塊應該只是另一種程序組件。
    • 應該嚴格執行模塊邊界 –模塊私有的類應該以與私有字段私有對類相同的方式私有。 換句話說,模塊邊界不僅應確定類和接口的可見性,還應確定其可訪問性。 沒有這種保證,就不可能構建能夠安全運行不受信任的代碼的模塊化系統。
    • 靜態的單版本模塊解析通常就足夠了 –大多數應用程序不需要在運行時動態添加或刪除模塊,也不需要同時使用同一模塊的多個版本。 模塊系統應針對常見場景進行優化,但也應支持由實際用例(例如,應用程序服務器,IDE和測試工具)推動的范圍狹窄的動態多版本解析形式。

    對于使用Jigsaw的程序員而言,這將特別值得注意,因為該語言現在將分為三個階段(而不是兩個階段):

    • 編譯時間 : 編譯模塊的類。 編譯的類與資源(配置文件,元數據文件等)一起以JMOD格式(用于Java模塊)打包在一個歸檔文件中:
    • 安裝時間:在安裝了JRE的任何計算機上,都會有一個模塊庫。 用戶可以在這里安裝Java模塊。
    • 運行時間:可以執行定義主類的模塊 ( Invokable Module )。 JVM將從模塊庫中加載該模塊及其所需的任何模塊,然后執行代碼。

    馬克·萊因霍爾德(Marc Reinhold)提供的有關拼圖項目的當前狀態的信息可以在拼圖項目:大圖—草稿1中找到 。

    參考:我們的JCG合作伙伴 JohannesTh?nes在JohannesTh?nes博客上的 Java 8狀態更新 。

    相關文章 :

    • Java 7:項目代幣中的代碼示例
    • Java 8虛擬擴展方法
    • Java Lambda語法替代
    • 將Java向前推進? 一個定義。 一年回顧。
    • Java SE 7、8、9 –推進Java
    • Java 7功能概述

    翻譯自: https://www.javacodegeeks.com/2012/01/java-8-status-updates.html

    總結

    以上是生活随笔為你收集整理的Java 8状态更新的全部內容,希望文章能夠幫你解決所遇到的問題。

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