首頁>技術>

目前最新JDK 11,Oracle會一直維護到2026年。

Java11的新特性

1、更新支援到Unicode 10編碼

Unicode 10(version 10.0 of the Unicode Standard),Unicode是一個不斷在演進的行業標準,Java一直在與它保持一致相容。

Java8已經更新了Unicode8.0-9.0,Java10更新後將達到16018個characters、18種blocks和10種scripts。

2、將Http Client作為JDK標準釋出、

原來作為jdk補充的http類放在jdk.incubator.http包中,現在統一改到java.net.http包下,核心類有下面4個。

HttpClientHttpRequestHttpResponseWebSocket

3、新增優化很多方法

java.util.Collection增加新方法toArray(IntFunction),集合轉陣列的不二之選。String增加lines\\stripLeading\\stripTrailing等,一般專案都有StringUtils類。java.io.InputStream增加構造方法java.nio包下面很大類擴充套件了方法Channels\\XXXBuffer等

4、支援動態分配 Compiler Threads

JVM啟動引數新增-XX:+UseDynamicNumberOfCompilerThreads,動態的控制程式設計執行緒的數量,原來的編譯執行緒預設會啟動大量造成cpu和memory浪費。

5、GC能力大幅提升

低功耗可擴充套件GC(ZGC)模組是一個試驗性的併發GC,線上程執行是ZGC會做一些重型回收工作,如string表清理等。執行週期在10ms內,處理heaps大小從MB到TB範圍,目前只能支援linux和x64系統,除此外還有個處理memory分配的Epsilon GZ,有興趣的可以自己研究。

6、堆分析能力提升:JVMTI

提供了一個低負載的堆分配採集分析程式:JVMTI,預設啟動方案可以持續工作且不造成伺服器壓力,面向介面程式設計,能夠收集活著和死去的物件資訊。

7、Transport Layer Security 1.3更新

簡稱TLS1.3是網路傳輸層協議,需要注意的它不相容歷史版本而且官方承認有風險,希望後續能不斷優化。

8、巢狀訪問控制

巢狀是一種訪問控制上下文,它允許多個class同屬一個邏輯程式碼塊,但是被編譯成多個分散的class檔案,它們訪問彼此的私有成員無需通過編譯器新增訪問擴充套件方法。

例子:

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

9、新增和優化諸多加密演算法

對PKCS#1 v2.2內提供更多演算法,如RSASSA-PSS簽名演算法。同時新增ChaCha20和Poly1305密碼演算法,通過Cipher.getInstance 使用。還有 Curve25519和Curve448被新增。AES128和265也支援了Kerberos 5 encryption。

10、本地引數支援Lambda

簡單理解就是lambda表示式的變數申明可以用var。

11、單java檔案載入執行

單個的*.java檔案可以直接用java命令來執行,格式:java HelloWorld.java。

12、飛行記錄器分析工具

Jvm啟動引數:-XX:StartFlightRecording

Java11中將這款原來商用的工具整合到jdk標準中了,它是一種低開銷的事件資訊收集框架,用來對應用程式和JVM 進行故障檢查、分析,收集應用程式、JVM 和 OS的資料並儲存在單獨的事件記錄檔案中,故障發生後,能夠從事件記錄檔案中提取出有用資訊對故障進行分析。

更多其他能力

還有很多其他更新就不一一介紹了,這些都是JDK標準包支援的基礎能力,得感謝Oracle持續對JDK釋出的支援。完整的jdk11變化清單可以去官網檢視;

從11開始移除的模組清單Removal of com.sun.awt.AWTUtilities ClassRemoval of Lucida Fonts from Oracle JDKRemoval of appletviewer LauncherOracle JDK's javax.imageio JPEG Plugin No Longer Supports Images with alphaRemoval of sun.misc.Unsafe.defineClassRemoval of Thread.destroy() and Thread.stop(Throwable) MethodsRemoval of sun.nio.ch.disableSystemWideOverlappingFileLockCheck PropertyRemoval of sun.locale.formatasdefault PropertyRemoval of JVM-MANAGEMENT-MIB.mibRemoval of SNMP AgentRemove the Java EE and CORBA ModulesRemoval of JavaFX from the Oracle JDKRemoval of JMC from the Oracle JDKRemoval of Java Deployment Technologies更多請檢視官網升級建議(重要)

從Java 11後Oracle不再單獨釋出JRE和Server JRE了,並統一JDK名稱為:Oracle JDK 。

另外Java 11及之後的版本,將不會再發布對32位作業系統支援的版本。

新舊專案不同策略

新啟的Java專案建議直接從Oracle JDK 11開始搭建,千萬不要猶豫,因為技術都是越新越強的。Java8就像晚期的福斯,而Java11卻是新興的特斯拉。

歷史的專案如果只是維護的話,乾脆就放著執行不要動好了,等哪天決定重構了再考慮升級到Java11。因為最大的問題不是自己公司開發的Code不能遷移到高版本,而是專案中引入的第三方Jar,這個東西搞起來十分頭疼。

JDK升級分析工具

推薦IBM公司Liberty團隊提供了一個十分好用的檢測Toolkit程式,可以掃描應用程式二進位制檔案(.war),發現的任何潛在的Java 11問題並生成Html報告。絕對的大利器,詳細內容直接檢視IBM官方介紹:Scanner kit

直接執行java -jar binaryAppScannerInstaller.jar,按步驟安裝有個lisence宣告和目錄指定,預設目錄名wamt。

參考文件中會有使用詳細介紹,也可以參考下面測試例子(掃描很慢,要些耐心等):

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

檢視幫助命令:

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

報告結果如下:

JDK不同於OpenJDK

推薦Oracle JDK,因為更加穩定可靠。

一年一度的雙十一就要到了, 你準備好你的錢包了和購物車了嗎?

第一階段 :Java基礎

1.認知基礎課程2. java入門階段3. 面向物件程式設計4. 飛機小專案5. 面向物件和陣列6. 常用類7. 異常機制8. 容器和資料結構9. IO流技術10. 多執行緒11. 網路程式設計12. 手寫伺服器13. 註解和反射14. GOF23種設計模式15. 正則表示式16. JDBC資料庫操作17. 手寫SORM框架18. JAVA10新特性19.資料結構和演算法20. JVM虛擬機器講解21. XML技術解析

第二階段:資料庫開發全套課程

1.Oracle和SQL語言2.Mysql快速使用3.PowerDesigner使用4.JDBC資料庫5.Mysql優化6.oracle深度講解

第三階段:網頁開發和設計

1.HTML基礎2.CSS基礎3.JavaScript程式設計4.jQuery5.easyUI

第四階段:Servlet和JSP實戰深入課程

1.Servlet入門和Tomcat2.request和response物件3.轉發和重定向_Cookie4.session_Context物件5.JSP6.使用者管理系統7.Ajax技術8.EL和JSTL標籤庫9.過濾器10.監聽器

第五階段:高階框架階段

1.Mybatis2.Spring3.Spring MVC4.SSM框架整合5.RBAC許可權控制專案6.Hibernate37.Hibernate48.jFinal9.Shiro安全框架10.Solr搜尋框架11.Struts212.Nginx伺服器13.Redis快取技術14.JVM虛擬機器優化15.Zookeeper

第六階段:微服務架構階段

1.Spring Boot2.Spring Data3.Spring Cloud

第七階段:網際網路架構階段

1.Linux系統2.Maven技術3.Git4.SVN5.高併發程式設計6.系統和虛擬機器調優7.JAVA程式設計規範8.高階網路程式設計9.Netty框架10.ActiveMQ訊息中介軟體11.單點登入SSO12.資料庫和SQL優化13.資料庫叢集和高併發14.Dubbo15.Redis16.VSFTPD+NGINX

第八階段:分散式億級高併發電商專案

1.基於SOA架構介紹2.VSFTPD和Nginx和商品新增3.商品規格引數管理4.Jsonp5.CMS模組6.廣告位資料快取7.SolrJ和SolrCloud8.商品搜尋9.商品詳情10.單點登入11.購物車12.訂單系統13.分庫和分表14.分散式部署

第九階段:畢設專案第一季

1. 電子政務網2. 企業合同管理系統3. 健康管理系統4. 商品供應管理系統5. 土地檔案管理系統6. 聊天室設計和實現7. 碼頭配套和貨櫃管理系統8. 百貨中心供應鏈系統9. 病歷管理系統10. 超市積分管理系統11. 動漫論壇12. 俄羅斯方塊13. 個人部落格系統14. 固定資產管理系統15. 影視創作論壇16. 螢幕截圖工具17. 超級瑪麗遊戲18. 飛機大戰遊戲19. 雷電

第十階段:畢設專案第二季

1. 微博系統2. 寫字板3. 坦克大戰4. 推箱子5. 電腦彩票系統6. 記賬管理系統7. 新聞釋出系統8. 醫院掛號系統9. 倉庫管理系統10. 停車場管理系統11. 網路爬蟲12. 酒店管理系統13. 企業財務管理系統14. 車輛管理系統15. 員工資訊管理系統16. 旅遊網站17. 搜尋引擎18. 進銷存管理系統19. 線上考試系統20. 物流資訊網21. 住院管理系統22. 銀行櫃員業務績效系統

沒錯,這僅僅是資料的一部分,全套資料總共幾百G,所以需要這份資料的童鞋,現在只需要轉發並關注小編,私信“A”就可以免費領取,只限雙十一前放出200份,趕快動手吧。

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Android Framework啟動流程淺析