摘要:概述是一個主要版本的發布這里介紹的是對的特性和增強的實現是的增強提案,包括增強建議和路線圖流程規范請求,描述了針對平臺的建議和最終規范主要變更統一模塊化標準這是全新的編程組件模塊,是可命名的可自描述的代碼和數據集合。
概述
java9是一個主要版本的發布
這里介紹的是Oracle對JDK9的特性和增強的實現
JEP是JDK的增強提案,包括增強建議和路線圖流程
JSR(Java規范請求),描述了針對Java平臺的建議和最終規范
JDK9主要變更 Java統一模塊化標準
這是全新的Java編程組件模塊,是可命名的、可自描述的代碼和數據集合。
提供了可選擇的、鏈接時間,在編譯期和運行時之間,可以將一組模塊組裝成自定義運行時映象,類似與java工具jlink
引入模塊化JAR文件,是一個帶有模塊信息的JAR文件,信息存放文件module-info.class在根路徑下
引入JMOD的打包方式,類似與JAR的打包方式,文件包含本地代碼和配置信息,可以通過jmod tool查看
JDK本身也被分成模塊化
允許把JDK模塊組件自由組合成你需要的
定義一個新的URI方案,資源包含命名模塊、類和存儲運行環境
java運行環境移除了rt.jar和tool.jar
默認情況下JDK大部分內部API無法訪問,執行命令jdeps -jdkinternals查看代碼中是否使用內部JDK API
更多信息見:
Java Platform Module System (JSR 376)
JEP 261: Module System
JEP 200: The Modular JDK
JEP 220: Modular Run-Time Images
JEP 260: Encapsulate Most Internal APIs
JEP 223:新的版本方案$MAJOR.$MINOR.$SECURITY.$PATCH
$MAJOR主要版本,如JDK9,包含平臺規范的新特性和對已有特性的更改
$MINOR次要版本,包含bug修復、標準api的修訂和平臺規范之外的特性實現
$SECURITY安全更新版本,包含關鍵修復和提高安全性的必要措施
JDK9新工具增強JEP 222: jshell: The Java Shell (Read-Eval-Print Loop):提供了交互式命令行窗口
JEP 228: Add More Diagnostic Commands:提高對Hotspot和JDK問題的診斷能力
JEP 231: Remove Launch-Time JRE Version Selection:移除了啟動時檢查JRE版本
JEP 238: Multi-Release JAR Files:提供多版本JAR
JEP 240: Remove the JVM TI hprof Agent:從JDK中刪除了hprof代理
JEP 241: Remove the jhat Tool:從JDK中移除了jhat tool
JEP 245: Validate JVM Command-Line Flag Arguments:校驗JVM命令行標志參數
JEP 247: Compile for Older Platform Versions:增強javac,可以編譯代碼為早期版本
JEP 282: jlink: The Java Linker:提供Java版的鏈接時間
JDK9安全增強JEP 219: Datagram Transport Layer Security (DTLS):支持安全套接字和SunJSSE支持DTLS(數據包傳輸層安全)
JEP 244: TLS Application-Layer Protocol Negotiation Extension:支持TLS(傳輸層安全)協議
JEP 249: OCSP Stapling for TLS
JEP 246: Leverage CPU Instructions for GHASH and RSA
JEP 246: Leverage CPU Instructions for GHASH and RSA
JEP 273: DRBG-Based SecureRandom Implementations
JEP 288: Disable SHA-1 Certificates
JEP 229: Create PKCS12 Keystores by Default
JEP 287: SHA-3 Hash Algorithms
JDK9部署增強Deprecate the Java Plug-in:Java插件被標記為過時的
Enhanced Java Control Panel:增強Java控制面板
JEP 275: Modular Java Application Packaging
JEP 289: Deprecate the Applet API:Applet API被標記為過時的
JDK9對java語言的增強JEP 213: Milling Project Coin:具體見Java SE 9的語言變更
JDK9對Javadoc的增強Javadoc增強包含簡化的Doclet API、Javadoc搜索、支持生成HTML5、支持模塊系統中的注釋
JEP 221: Simplified Doclet API
JEP 224: HTML5 Javadoc
JEP 225: Javadoc Search
JEP 261: Module System
JDK 9對JVM的增強JEP 165: Compiler Control
JEP 197: Segmented Code Cache
JEP 276: Dynamic Linking of Language-Defined Object Models
JDK 9對JVM調優的增強Improve G1 Usability, Determinism, and Performance:增強垃圾回收器(G1)
JEP 158: Unified JVM Logging:統一JVM日志
JEP 214: Remove GC Combinations Deprecated in JDK 8
刪除了JDK 8中標記過時的GC組合
DefNew + CMS
ParNew + SerialOld
Incremental CMS
刪除相應參數:
-Xincgc
-XX:+CMSIncrementalMode
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSFullGCsBeforeCompaction
-XX:+UseCMSCollectionPassing
JEP 248: Make G1 the Default Garbage Collector:標記G1為默認GC
JEP 271: Unified GC Logging:統一GC日志
JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector:CMS標記為過時
JDK 9核心庫JEP 102: Process API Updates:進程API,java.lang.ProcessHandle可以獲取進程ID、參數、命令等
JEP 193: Variable Handles:變量處理,見java.util.concurrent.atomic包下和sun.misc.Unsafe的源碼
JEP 254: Compact Strings:壓縮字符串
JEP 264: Platform Logging API and Service:統一日志API
JEP 266: More Concurrency Updates
JEP 268: XML Catalogs
JEP 269: Convenience Factory Methods for Collections:集合工廠方法
類似guava,Set
JEP 274: Enhanced Method Handles:方法處理
JEP 277: Enhanced Deprecation:增強注解
JEP 285: Spin-Wait Hints:自旋等待提示,見Thread#onSpinWait()
JEP 290: Filter Incoming Serialization Data
JEP 259: Stack-Walking API:堆棧API,見java.lang.StackWalker,可以獲取代碼執行的每一幀信息
JEP 255: Merge Selected Xerces 2.11.0 Updates into JAXP
JDK 9 對Nashorn增強JEP 236: Parser API for Nashorn
JEP 292: Implement Selected ECMAScript 6 Features in Nashorn
JDK 9對Client Technologies增強JEP 251: Multi-Resolution Images
JEP 253: Prepare JavaFX UI Controls and CSS APIs for Modularization
JEP 256: BeanInfo Annotations
JEP 262: TIFF Image I/O
JEP 263: HiDPI Graphics on Windows and Linux
JEP 272: Platform-Specific Desktop Features
JEP 283: Enable GTK 3 on Linux
JDK 9對國際化的增強JEP 267: Unicode 8.0
JEP 252: CLDR Locale Data Enabled by Default
JEP 226: UTF-8 Properties Files
參考:https://docs.oracle.com/javas...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67871.html
摘要:抽象方法沒有方法體抽象方法權限修飾符不能為抽象方法的目的就是為了讓子類繼承重寫的,所以抽象方法不能私有,不能修飾。另外,添加默認方法不會影響函數式接口的使用。 原文:抽象類和接口的區別已經變了 隨著JDK的不斷迭代,抽象類和接口的區別已經有了些許改變,你是否還停留在JDK 7 的答案呢? 定義 抽象類定義通過 abstract class public abstract class A...
摘要:資源包括什么內存磁盤網絡文件描述符外部緩存數據庫等,編程語言是如何管理資源的合理的算法架構保證了資源的合理使用,分配內存使用網絡等等。 在云計算時代,開發和運維的結合變得越來越重要。在DIFF論壇第一期,前新浪SAE運維主管,鄭志勇,分享了《一個開發眼中的運維》根據自己從開發人員轉型運維之后的心得,談如何把在開發上的運用抽象思維方式運用到運維領域。 showImg(http://se...
摘要:的核心變化就是引入了一種新的編程組件,也就是模塊,按照的說法,它是一個可命名的自描述的代碼和數據集合。宣布會按照每六個月一次的節奏進行發布,意味著是最后一次特性驅動的版本發布,這反映出了目前管理的特點。 Java SE 9.0于2017年9月21日發布。JDK 9的核心變化就是引入了一種新的Java編程組件,也就是模塊,按照Oracle的說法,它是一個可命名的、自描述的代碼和數據集合。...
摘要:服務器信息是否正確,如果發現不對會提醒確認服務器與交換機連接的端口是否準確資產管理系統經過一段時間的探討和研究我們做了一套資產管理系統,接下來就為大家詳細解讀一下我們的資產管理系統。 showImg(https://segmentfault.com/img/bVbgufe?w=640&h=450); 兩年前筆者在一個中小型互聯網公司做運維,當時我們經理在機房,花了半天找一臺服務器,但是...
摘要:創建線程的方式方式一將類聲明為的子類。將該線程標記為守護線程或用戶線程。其中方法隱含的線程為父線程。恢復線程,已過時。等待該線程銷毀終止。更多的使當前線程在鎖存器倒計數至零之前一直等待,除非線 知識體系圖: showImg(https://segmentfault.com/img/bVbef6v?w=1280&h=960); 1、線程是什么? 線程是進程中獨立運行的子任務。 2、創建線...
閱讀 2690·2021-11-08 13:16
閱讀 2367·2021-10-18 13:30
閱讀 2237·2021-09-27 13:35
閱讀 1993·2019-08-30 15:55
閱讀 2442·2019-08-30 13:22
閱讀 576·2019-08-30 11:24
閱讀 2077·2019-08-29 12:33
閱讀 1813·2019-08-26 12:10