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

歡迎訪問 生活随笔!

生活随笔

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

java

javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX

發布時間:2023/12/3 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

javaone

JavaOne 2015看到了Project Jigsaw團隊關于Java 9中的模塊化的一系列討論 。它們都是非常有趣的,并且充滿了寶貴的信息,我敦促每個Java開發人員都注意它們。

除此之外,我想給社區一種搜索和引用它們的方法,因此我在這里總結一下:

  • 準備JDK 9
  • 模塊化開發簡介(即將出版)
  • 先進的模塊化開發(即將推出)
  • 拼圖項目的幕后花絮(即將上映)

我努力鏈接到盡可能多的外部資源,以使各個帖子簡短。 播放圖標將帶您直接進入Oracle每天為每個房間在線播放的長達十小時的視頻流中的相應點。 (很棒的格式,伙計們!)(到目前為止)他們不僅弄亂了聲音,而且似乎還訴諸于低音量的單聲道聲音,因此請確保提高音量。

讓我們開始為JDK 9做準備!

總覽

  • 內容 :從JDK 8遷移到JDK 9時的期望
  • 演講者 :艾倫·貝特曼
  • 鏈接 : 視頻和幻燈片

背景

艾倫·貝特曼(Alan Bateman)通過提供一些背景信息來開始演講。

JDK 9和項目拼圖目標

快速回顧拼圖的目標。 有關更多詳細信息,請參閱我關于它們的文章 。

模塊化景觀

簡要介紹了Jigsaw項目的各種Java規范請求 (JSR)和JDK增強建議 (JEP)。

兼容性

Bateman對JDK公開的API進行了分類:

  • 受支持并打算供外部使用:
    • JCP標準:java。*,javax。*
  • 不適用于外部使用:sun。*,rest com.sun。*,rest jdk。*

他指出,如果應用程序僅使用受支持的API并在Java N上運行,則它也應在Java N + 1上運行。 Java 9將利用此功能并更改/刪除Java 8中內部或已棄用的API。

然后,他開始管理兼容性,并提到了約瑟夫·達西(Joseph Darcy)撰寫的一本帖子,他建議閱讀“兼容性的種類:源,二進制和行為” 。 它揭示了兼容性的各個方面,并因此擴展了Java的復雜性。

JDK 9中不兼容的更改

本講的大部分內容涵蓋了Java 9會引起的各種不兼容性。 我的有關Java 9如何破壞您的代碼的文章在很大程度上覆蓋了這一點。

封裝JDK內部API

Bateman首先介紹有關內部API使用的一些數據。 可以在幻燈片16上找到詳細信息,但要點是,僅經常使用幾個API。

不在野外使用或僅用于方便的API是非關鍵的。 默認情況下,這些將封裝在Java 9中。那些在實際使用中很難或不可能在JDK之外創建實現的應用被視為關鍵。 如果存在替代方案,它們也將被封裝。

在Java 9中將棄用沒有替代方法的關鍵API,并計劃在10中刪除它們。JEP260為此提出了以下API:

  • sun.misc.Unsafe
  • sun.misc。{Signal,SignalHandler}
  • 太陽雜色清潔劑
  • sun.reflect.Reflection :: getCallerClass
  • sun.reflect.ReflectionFactory

如果您錯過了清單中的某些內容,請與拼圖團隊聯系并為您的案件辯護(并提供數據支持)。

然后 ,他探討了如何使用jdeps查找內部API的用法。 本部分還包含一些示例,這些示例說明了如果在JDK 9上運行有問題的代碼(從此處開始)會發生什么,以及如何解決此類問題(從此處開始)。

刪除API

很快 以下6種方法在Java 9中將不存在:

  • java.util.logging.LogManager :: addPropertyChangeListener
  • java.util.logging.LogManager :: removePropertyChangeListener
  • java.util.jar.Pack200.Packer :: addPropertyChangeListener
  • java.util.jar.Pack200.Packer :: removePropertyChangeListener
  • java.util.jar.Pack200.Unpacker :: addPropertyChangeListener
  • java.util.jar.Pack200.Unpacker :: removePropertyChangeListener

JDK / JRE二進制結構的更改

通過將JDK和JRE合并到一個通用結構中,一些現有的實踐將停止工作。

Bateman描述了舊的運行時映像目錄布局的一些問題,并介紹了新的外觀。 幻燈片29和30將兩種布局并列:

版權所有?2015,Oracle和/或其分支機構。 版權所有。

從Java 7開始,有了一個API,無論物理布局如何,工具都可以與這些文件進行交互。 這也意味著版本N可以訪問版本N + 1文件。

刪除的機制

如前所述 , 認可的標準覆蓋機制和擴展機制將被刪除。 它們將由可升級模塊取代。

其他變化

有關更改的完整列表,請參見JEP 261 (風險和假設部分)。 貝特曼列舉了幾個:

  • 應用程序和擴展類加載器不再是java.net.URLClassLoader的實例。
  • 命令行參數-Xbootclasspath和-Xbootclasspath / p被刪除。
  • 系統屬性sun.boot.class.path已刪除。

Java 9中的非拼圖不兼容性

Bateman還簡短地解決了兩個與Project Jigsaw不相關但將在Java 9中顯示并可能破壞某些代碼的問題:

  • 版本字符串架構會更改。 有關詳細信息,請參見JEP 223-它也可以很好地比較當前和將來的版本字符串。
  • 下劃線不再允許作為一個字符的標識符。

發布時間由里卡多·比利亞爾下, CC-BY-NC 2.0 。

您可以為Java 9做哪些準備?

您可以執行幾個準備步驟:

  • 檢查代碼是否使用jdeps的JDK內部API。
  • 檢查可能對版本字符串架構更改敏感的代碼。
  • 檢查代碼是否使用下劃線作為標識符。
  • 如果您開發工具,則通常檢查代碼是否依賴于rt.jar , tools.jar或運行時映像布局。
  • 測試JDK 9 EA構建和Project Jigsaw EA構建。

確保將任何意外或過分有問題的發現報告給Jigsaw郵件列表 。

問題

有幾個問題,我選擇了兩個最有趣的問題。

庫如何針對Java 8和Java 9?

JEP 238將引入多版本的JAR,即可以包含特定Java版本的專用代碼的JAR。

對Java 8的支持何時終止?

舞臺上沒人知道確切的答案,所以他們指出了oracle.com上Oracle更新策略的文檔 。 當前答案是:不早于2017年9月。

翻譯自: https://www.javacodegeeks.com/2016/01/javaone-2015-prepare-jdk-9-blogcodefx.html

javaone

總結

以上是生活随笔為你收集整理的javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX的全部內容,希望文章能夠幫你解決所遇到的問題。

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