日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

作者:Owen_Jia

來(lái)源:https://my.oschina.net/timestorm/blog/3127044

目前最新JDK 11,Oracle會(huì)一直維護(hù)到2026年。

JAVA11的新特性

1、更新支持到Unicode 10編碼

Unicode 10(version 10.0 of the Unicode Standard),Unicode是一個(gè)不斷在演進(jìn)的行業(yè)標(biāo)準(zhǔn),Java一直在與它保持一致兼容。

Java8已經(jīng)更新了Unicode8.0-9.0,Java10更新后將達(dá)到16018個(gè)characters、18種blocks和10種scripts。

2、將Http Client作為JDK標(biāo)準(zhǔn)發(fā)布、

原來(lái)作為jdk補(bǔ)充的http類放在jdk.incubator.http包中,現(xiàn)在統(tǒng)一改到j(luò)ava.net.http包下,核心類有下面4個(gè)。

  • HttpClient
  • HttpRequest
  • HttpResponse
  • WebSocket

 

教你怎么從Java8升級(jí)到Java11

 

3、新增優(yōu)化很多方法

  • java.util.Collection增加新方法toArray(IntFunction),集合轉(zhuǎn)數(shù)組的不二之選。
  • String增加linesstripLeadingstripTrailing等,一般項(xiàng)目都有StringUtils類。
  • java.io.InputStream增加構(gòu)造方法
  • java.nio包下面很大類擴(kuò)展了方法ChannelsXXXBuffer等

推薦一篇博客:Java 11 新增 API 初探,總結(jié)的比較細(xì)致。

4、支持動(dòng)態(tài)分配 Compiler Threads

JVM啟動(dòng)參數(shù)新增-XX:+UseDynamicNumberOfCompilerThreads,動(dòng)態(tài)的控制編程線程的數(shù)量,原來(lái)的編譯線程默認(rèn)會(huì)啟動(dòng)大量造成cpu和memory浪費(fèi)。

5、GC能力大幅提升

低功耗可擴(kuò)展GC(ZGC)模塊是一個(gè)試驗(yàn)性的并發(fā)GC,在線程執(zhí)行是ZGC會(huì)做一些重型回收工作,如string表清理等。執(zhí)行周期在10ms內(nèi),處理heaps大小從MB到TB范圍,目前只能支持linux和x64系統(tǒng),除此外還有個(gè)處理memory分配的Epsilon GZ,有興趣的可以自己研究。

6、堆分析能力提升:JVMTI

提供了一個(gè)低負(fù)載的堆分配采集分析程序:JVMTI,默認(rèn)啟動(dòng)方案可以持續(xù)工作且不造成服務(wù)器壓力,面向接口編程,能夠收集活著和死去的對(duì)象信息。

7、Transport Layer Security 1.3更新

簡(jiǎn)稱TLS1.3是網(wǎng)絡(luò)傳輸層協(xié)議,需要注意的它不兼容歷史版本而且官方承認(rèn)有風(fēng)險(xiǎn),希望后續(xù)能不斷優(yōu)化。

8、嵌套訪問(wèn)控制

嵌套是一種訪問(wèn)控制上下文,它允許多個(gè)class同屬一個(gè)邏輯代碼塊,但是被編譯成多個(gè)分散的class文件,它們?cè)L問(wèn)彼此的私有成員無(wú)需通過(guò)編譯器添加訪問(wèn)擴(kuò)展方法。

例子:

教你怎么從Java8升級(jí)到Java11

 

這里要提一下Class類新增的方法:

// 獲取宿主類。非嵌套類的宿主類是它本身。
public Class<?> getNestHost()
// 判斷該類是否是某個(gè)類的嵌套類
public boolean isNestmateOf(Class<?> c)
// 返回某個(gè)類的嵌套類數(shù)組。第 1 個(gè)固定是宿主類,之后的是該宿主類的嵌套成員,但不保證順序,同時(shí)也會(huì)包含自身
public Class<?>[] getNestMembers()

9、新增和優(yōu)化諸多加密算法

對(duì)PKCS#1 v2.2內(nèi)提供更多算法,如RSASSA-PSS簽名算法。同時(shí)新增ChaCha20和Poly1305密碼算法,通過(guò)Cipher.getInstance 使用。還有 Curve25519和Curve448被添加。AES128和265也支持了Kerberos 5 encryption。

10、本地參數(shù)支持Lambda

簡(jiǎn)單理解就是lambda表達(dá)式的變量申明可以用var。

	lst.forEach((var x) -> {
		System.out.print(x);
	});

11、單java文件加載運(yùn)行

單個(gè)的*.java文件可以直接用java命令來(lái)執(zhí)行,格式:java HelloWorld.java。

12、飛行記錄器分析工具

Jvm啟動(dòng)參數(shù):-XX:StartFlightRecording

Java11中將這款原來(lái)商用的工具集成到j(luò)dk標(biāo)準(zhǔn)中了,它是一種低開(kāi)銷的事件信息收集框架,用來(lái)對(duì)應(yīng)用程序和JVM 進(jìn)行故障檢查、分析,收集應(yīng)用程序、JVM 和 OS的數(shù)據(jù)并保存在單獨(dú)的事件記錄文件中,故障發(fā)生后,能夠從事件記錄文件中提取出有用信息對(duì)故障進(jìn)行分析。

更多其他能力

還有很多其他更新就不一一介紹了,這些都是JDK標(biāo)準(zhǔn)包支持的基礎(chǔ)能力,得感謝Oracle持續(xù)對(duì)JDK發(fā)布的支持。完整的jdk11變化清單可以去官網(wǎng)查看;

從11開(kāi)始移除的模塊清單

  • Removal of com.sun.awt.AWTUtilities Class
  • Removal of Lucida Fonts from Oracle JDK
  • Removal of Appletviewer Launcher
  • Oracle JDK's javax.imageio JPEG Plugin No Longer Supports Images with alpha
  • Removal of sun.misc.Unsafe.defineClass
  • Removal of Thread.destroy() and Thread.stop(Throwable) Methods
  • Removal of sun.nio.ch.disableSystemWideOverlappingFileLockCheck Property
  • Removal of sun.locale.formatasdefault Property
  • Removal of JVM-MANAGEMENT-MIB.mib
  • Removal of SNMP Agent
  • Remove the Java EE and CORBA Modules
  • Removal of JavaFX from the Oracle JDK
  • Removal of JMC from the Oracle JDK
  • Removal of Java Deployment Technologies
  • 更多請(qǐng)查看官網(wǎng)

升級(jí)建議(重要)

從Java 11后Oracle不再單獨(dú)發(fā)布JRE和Server JRE了,并統(tǒng)一JDK名稱為:Oracle JDK 。

另外Java 11及之后的版本,將不會(huì)再發(fā)布對(duì)32位操作系統(tǒng)支持的版本。

教你怎么從Java8升級(jí)到Java11

 

新舊項(xiàng)目不同策略

新啟的Java項(xiàng)目建議直接從Oracle JDK 11開(kāi)始搭建,千萬(wàn)不要猶豫,因?yàn)榧夹g(shù)都是越新越強(qiáng)的。Java8就像晚期的大眾,而Java11卻是新興的特斯拉。

歷史的項(xiàng)目如果只是維護(hù)的話,干脆就放著運(yùn)行不要?jiǎng)雍昧耍饶奶鞗Q定重構(gòu)了再考慮升級(jí)到Java11。因?yàn)樽畲蟮膯?wèn)題不是自己公司開(kāi)發(fā)的Code不能遷移到高版本,而是項(xiàng)目中引入的第三方Jar,這個(gè)東西搞起來(lái)十分頭疼。

JDK升級(jí)分析工具

升級(jí)最擔(dān)心的就是被刪除的模塊!

推薦IBM公司Liberty團(tuán)隊(duì)提供了一個(gè)十分好用的檢測(cè)Toolkit程序,可以掃描應(yīng)用程序二進(jìn)制文件(.war),發(fā)現(xiàn)的任何潛在的Java 11問(wèn)題并生成html報(bào)告。絕對(duì)的大利器,詳細(xì)內(nèi)容直接查看IBM官方介紹:Scanner Kit。

直接運(yùn)行java -jar binaryAppScannerInstaller.jar,按步驟安裝有個(gè)lisence聲明和目錄指定,默認(rèn)目錄名wamt。

教你怎么從Java8升級(jí)到Java11

 

參考文檔中會(huì)有使用詳細(xì)介紹,也可以參考下面測(cè)試?yán)樱⊕呙韬苈┠托牡龋?/p>

java -jar binaryAppScanner.jar Root.war --analyzeJavaSE --sourceJava=oracle8 --targetJava=java11 --output=./java11/RootReport.html

查看幫助命令:

java -jar binaryAppScanner.jar Root.war --help --all

教你怎么從Java8升級(jí)到Java11

 

報(bào)告結(jié)果如下:

教你怎么從Java8升級(jí)到Java11

 


教你怎么從Java8升級(jí)到Java11

 


教你怎么從Java8升級(jí)到Java11

 


教你怎么從Java8升級(jí)到Java11

 


教你怎么從Java8升級(jí)到Java11

 

JDK不同于OpenJDK

推薦Oracle JDK,因?yàn)楦臃€(wěn)定可靠。

  • 只有Oracle JDK支持Solaris系統(tǒng);
  • 只有Oracle JDK才支持msi這樣的安裝程序;
  • Oracle JDK版本將每三年發(fā)布一次,而OpenJDK版本每三個(gè)月發(fā)布一次;
  • OpenJDK 是一個(gè)參考模型并且是完全開(kāi)源的,而Oracle JDK是 OpenJDK的一個(gè)實(shí)現(xiàn),并不是完全開(kāi)源的;
  • Oracle JDK 比 OpenJDK 更穩(wěn)定。OpenJDK和Oracle JDK的代碼幾乎相同,但建議您選擇Oracle JDK,因?yàn)樗?jīng)過(guò)了徹底的測(cè)試和穩(wěn)定修復(fù);
  • 在響應(yīng)性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能;
  • Oracle JDK不會(huì)為即將發(fā)布的版本提供長(zhǎng)期支持,用戶每次都必須通過(guò)更新到最新版本獲得支持來(lái)獲取最新版本;
  • Oracle JDK根據(jù)二進(jìn)制代碼許可協(xié)議獲得許可,而OpenJDK根據(jù)GPL v2許可獲得許可。Oracle公司很善于打官司,所以這點(diǎn)很重要。
教你怎么從Java8升級(jí)到Java11

 

分享到:
標(biāo)簽:Java11
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定