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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

jdk 9和jdk8_JDK 9是某些功能的终结

發(fā)布時(shí)間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jdk 9和jdk8_JDK 9是某些功能的终结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jdk 9和jdk8

幾天前宣布JDK 9是Feature Complete! 進(jìn)行切割的許多“功能”是附加功能,但有些是移除功能。 這篇文章介紹了一些從OpenJDK和/或Oracle JDK with Java 9中刪除的項(xiàng)目。

JEP 220 (“模塊化運(yùn)行時(shí)圖像”)的一部分是刪除了Java認(rèn)可的標(biāo)準(zhǔn)覆蓋機(jī)制 (“意味著可以將實(shí)現(xiàn)認(rèn)可的標(biāo)準(zhǔn)或獨(dú)立技術(shù)的更高版本的類和接口合并到Java平臺(tái)中”)和刪除了支持可選軟件包的擴(kuò)展機(jī)制 (“允許Java虛擬機(jī)(VM)使用可選擴(kuò)展的類,其方式與VM使用Java平臺(tái)中的類的方式幾乎相同”)。 可升級(jí)模塊旨在替換JDK 9中認(rèn)可的標(biāo)準(zhǔn)覆蓋機(jī)制。關(guān)于擴(kuò)展機(jī)制,JEP 220指出:“擴(kuò)展機(jī)制是在1998年發(fā)布的JDK 1.2中引入的,但是在現(xiàn)代,我們幾乎沒有證據(jù)使用。” Erik Costlow的計(jì)劃安全刪除未充分使用的“認(rèn)可擴(kuò)展”目錄提供了更多有關(guān)這些刪除以及如何檢測(cè)它們是否會(huì)影響特定Java應(yīng)用程序的背景。

rt.jar和tools.jar

JEP 220還刪除了眾所周知且經(jīng)常引用的JAR rt.jartools.jar 。 JEP 220解釋說:“以前存儲(chǔ)在lib/rt.jar , lib/tools.jar , lib/dt.jar和其他各種內(nèi)部jar文件中的類和資源文件現(xiàn)在將以更有效的格式存儲(chǔ),以實(shí)現(xiàn)特定的方式lib目錄中的文件。 這些文件的格式將不指定,如有更改,恕不另行通知。” 有關(guān)刪除這些JAR的其他詳細(xì)信息以及這些刪除的預(yù)期效果,可以在Java 9中找到,它們完全改變了JDK目錄的布局并刪除了tools.jar , Java 9和Jigsaw如何破壞您的代碼以及為JDK 9做準(zhǔn)備 。 沒有人爭(zhēng)辯說,這些API并不是供外部使用的,這是一個(gè)很好的廣告 ,但是“一些流行的庫(kù)使用了非標(biāo)準(zhǔn),不穩(wěn)定且不受支持的API,這些API是JDK的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),并且從未供外部使用。 。”

“大多數(shù)”內(nèi)部API(但不是

JEP 260 (“封裝大多數(shù)內(nèi)部API”)的編寫目的是“在[ JDK 9 ]中默認(rèn)使大多數(shù)JDK的內(nèi)部API無法訪問,但保留一些關(guān)鍵的,廣泛使用的內(nèi)部API,直到所有或大多數(shù)支持的替代品都存在為止。功能。” Mark Reinhold的消息“ 在JDK 9中封裝內(nèi)部API”(sun.misc.Unsafe等)詳細(xì)描述了這樣做的動(dòng)機(jī)。 在消除內(nèi)部 ( 臭名昭著 )API sun.misc.Unsafe 引起軒然大波之后,這種方法是一種折衷方案。 JEP 260文檔詳細(xì)討論了哪些內(nèi)部API將在JDK 9中保持可訪問性,并解釋說某些內(nèi)部API將在JDK 9中棄用,并在以后的某個(gè)時(shí)間完全刪除。 “建議在JDK 9中保持可訪問的關(guān)鍵內(nèi)部API”包括sun.misc.Unsafe , sun.misc.Signal和sun.misc.SignalHandler 。

Java數(shù)據(jù)庫(kù)

Oracle的Don Smith 在JDK 9中推遲到Derby的文章中寫道:“ Java DB只是Apache Derby開源數(shù)據(jù)庫(kù)的重新命名發(fā)行版。 它包含與Apache Derby相同的二進(jìn)制文件。 從JDK 9開始,不再計(jì)劃將其包含在Oracle JDK下載的'db'目錄中。 展望JDK 9的開發(fā)人員應(yīng)計(jì)劃出于同一目的獨(dú)立獲取和捆綁Apache Derby。” 在撰寫本文時(shí), Oracle Java DB頁(yè)面指出:“ Java DB是Oracle支持的Apache Derby開源數(shù)據(jù)庫(kù)發(fā)行版。 它通過JDBC和Java EE API支持標(biāo)準(zhǔn)的ANSI / ISO SQL。 Java DB包含在JDK中。” 從JDK 9開始將不再是這種情況。

自JDK 8起已棄用垃圾收集器選項(xiàng)

如OpenJDK頁(yè)面JDK 9 Outreach的“已刪除”部分和JEP 214中所述 , JDK 8中不推薦使用的“很少使用”垃圾收集選項(xiàng)組合現(xiàn)在已被完全刪除(這意味著包含這些選項(xiàng)組合將阻止JVM而不是簡(jiǎn)單地顯示警告消息)。 以下是要?jiǎng)h除的垃圾收集選項(xiàng)的組合:

DefNew + CMS -XX:-UseParNewGC -XX:+UseConcMarkSweepGC
ParNew + SerialOld -XX:+UseParNewGC
ParNew + iCMS -Xincgc
ParNew + iCMS -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC
DefNew + iCMS -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:-UseParNewGC
CMS前景 -XX:+UseCMSCompactAtFullCollection
CMS前景 -XX:+CMSFullGCsBeforeCompaction
CMS前景 -XX:+UseCMSCollectionPassing

賈特

JEP 241被稱為“刪除jhat工具”,其簡(jiǎn)潔的“摘要”為“刪除過時(shí)的jhat工具”。 刪除jhat的動(dòng)機(jī)在JDK-8059039中進(jìn)行了解釋,“ jhat是在JDK 6中基于java.net HAT項(xiàng)目添加的 。 jhat是一個(gè)實(shí)驗(yàn)性的,不受支持的且過時(shí)的工具。 優(yōu)質(zhì)的堆可視化器和分析器現(xiàn)已問世多年。” jhat替代jhat包括Eclipse Memory Analyzer Tool(MAT)和VisualVM 。 OpenJDK JDK 9 Outreach文檔中也記錄了此刪除操作,并且在文章OpenJDK 9:沒有HPROF和jhat的生活中提到了此刪除操作 。

Java虛擬機(jī)工具接口hprof代理

JEP 240從JDK中刪除了JVM TI hprof代理。 關(guān)于HPROF的JDK 8技術(shù)說明:堆/ CPU分析工具指出(我已經(jīng)強(qiáng)調(diào)了 ),“ Java 2平臺(tái)標(biāo)準(zhǔn)版(J2SE) 始終提供一個(gè)簡(jiǎn)單的命令行分析工具,稱為HPROF,用于堆和cpu分析。 HPROF實(shí)際上是一個(gè)JVM本機(jī)代理程序庫(kù),它在JVM啟動(dòng)時(shí)通過命令行選項(xiàng)動(dòng)態(tài)加載,并成為JVM進(jìn)程的一部分。” 如用于刪除它的JDK-8046661中所述,還有其他一些可用于生成“ hprof格式的堆轉(zhuǎn)儲(chǔ)”的替代方法,包括jmap -dump和jcmd <pid> GC.heap_dump 。 JDK 9擴(kuò)展頁(yè)面上也對(duì)此進(jìn)行了引用,并在文章OpenJDK 9:沒有HPROF的生活和jhat中對(duì)此進(jìn)行了討論 。

虛擬機(jī)

Oracle的Aurelio Garcia-Ribeyro 在JDK 9和更高版本的Visual VM中寫道:“從JDK 9開始,Visual VM將不包括在Oracle JDK中”,并補(bǔ)充說:“希望將Visual VM與Oracle JDK 9或更高版本一起使用的開發(fā)人員。以后可以從Visual VM開源項(xiàng)目站點(diǎn)獲取它。 這似乎與Oracle先前決定將NetBeans捐贈(zèng)給Apache Software Foundation (VisualVM 基于NetBeans Platform )有關(guān)。 代替刪除的jhat工具和HPROF代理,要使用的主要工具之一也需要單獨(dú)下載以與JDK 9一起使用。

AppleScript引擎

AppleScript引擎代碼隨JDK 9一起刪除,并且此刪除記錄在OpenJDK頁(yè)面JDK 9 Outreach的“已刪除”部分中。

來自RMI的HTTP代理

RDK的HTTP代理已在JDK 8中棄用,并且已從JDK 9中刪除 。 這在“ JDK 9擴(kuò)展”頁(yè)面上被調(diào)用。

java.corba和EE模塊的默認(rèn)分辨率

JDK 9中仍然可以使用java.corba和其他EE模塊,但是默認(rèn)情況下它們不再可見 。 六個(gè)模塊“默認(rèn)情況下將不可見”是java.activation , java.annotations.common , java.corba (不推薦使用), java.transaction , java.xml.bind和java.xml.ws。 JEP 261對(duì)此進(jìn)行了更詳細(xì)的描述,并解釋說:“默認(rèn)情況下,類路徑上的代碼不會(huì)解析定義Java EE API或Java EE應(yīng)用程序主要感興趣的API的模塊。” 它稱此更改為“有意的選擇,如果不是很痛苦的話”,旨在“避免與在某些相同程序包中定義類型的流行庫(kù)產(chǎn)生不必要的沖突”,并“使現(xiàn)有應(yīng)用程序服務(wù)器更容易遷移到JDK 9”。

JEP 182的“摘要”(“淘汰javac -source和-target選項(xiàng)的政策”)指出:“為降低javac的維護(hù)成本,該JEP定義了-target舊的-source和-target選項(xiàng)的策略。 在JDK 8中,將不贊成使用1.5或更早版本的源或目標(biāo),而在JDK 9中,將刪除對(duì)1.5或更早版本的源或目標(biāo)的支持。 在JDK 9及以后的版本中,javac將使用受支持的源和目標(biāo)選項(xiàng)的“一加三后退”策略。 根據(jù)這一政策, javac仍然能夠識(shí)別和處理所有以前的JDK的類文件,可以追溯到JDK 1.0.2生成的版??本45.3的類文件,該版本于1996年首次發(fā)布。”

根據(jù)JEP 182中概述的策略,JDK 9通過JDK-8011044 “刪除了對(duì)1.5及更早版本的源和目標(biāo)選項(xiàng)的支持”。 Joe Darcy在交付時(shí)描述了此更改,“ javac命令不再支持低于6 / 1.6的-source或-target選項(xiàng)。 但是, javac仍然可以讀取較舊的類文件。 較早版本的源代碼可以移植到較新的源代碼級(jí)別。 為了生成舊版本可用的類文件,可以使用以前版本中的javac 。”

其他拆除

OpenJDK JDK 9擴(kuò)展頁(yè)面的“已刪除”部分簡(jiǎn)要引用了我在本文中討論的一些項(xiàng)目,還引用了我在本文中未引用的從JDK 9中刪除的一些項(xiàng)目:

  • JEP 231 (“刪除啟動(dòng)時(shí)JRE版本選擇”):“刪除在JRE啟動(dòng)時(shí)請(qǐng)求不是JRE版本的JRE版本的能力。”
  • JDK-8037739 :“在JDK 9時(shí)間范圍內(nèi)刪除對(duì)java.awt.peer和java.awt.dnd.peer包的API引用”
  • JDK-8029806 :“刪除打包程序/解包程序的addPropertyChangeListener和removePropertyListener方法”
  • JDK-8029805 :“刪除LogManager addPropertyChangeListener和removePropertyChangeListener方法”
  • JDK-8029904 :““刪除com.sun.security.auth.callback.DialogCallbackHandler”
  • JDK-7067728 :“從默認(rèn)的java.policy中刪除stopThread RuntimePermission”
  • JDK-8134808 :“從java.desktop中刪除對(duì)序列化小程序的支持”

結(jié)論

由于對(duì)JDK 所做的更改以支持模塊化( JEP 200 ),因此已刪除了從JDK 9中刪除的許多項(xiàng)目。 因?yàn)橛懈玫奶娲С?#xff0c;或者因?yàn)镴DK以前包含的產(chǎn)品現(xiàn)在希望單獨(dú)下載,所以其他項(xiàng)目也被刪除。

翻譯自: https://www.javacodegeeks.com/2017/01/jdk-9-end-road-features.html

jdk 9和jdk8

總結(jié)

以上是生活随笔為你收集整理的jdk 9和jdk8_JDK 9是某些功能的终结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。