Java 8和Java 14之间的新功能
從版本9開始,Java每6個月就會有新功能,因此很難跟蹤這些新更改。 互聯(lián)網(wǎng)上的大多數(shù)信息都描述了最近兩個Java版本之間的變化。 但是,如果您的情況與我相似,則說明您使用的不是Java的最新版本,而是使用了較舊的Java版本。
然后,知道自您現(xiàn)在使用的版本以來,或者在您現(xiàn)在使用的版本與您要開始使用的版本之間添加了哪些新功能很有用。 因此,對于每個新的Java版本,我已經(jīng)編譯了一個表,其中包含自Java 8起添加的所有新功能。 第一個表包含Java語言的更改,第二個表包含該語言之外的其他內(nèi)容,例如命令行工具或JVM改進。
請注意,我沒有包括所有新功能和API附加功能,只有最有用的功能。 為了使清單簡短,有一些我不常用的新功能。
您可以在下面找到表格:
- 新的Java語言功能
- OpenJDK中的新工具和功能
- 不推薦使用/已刪除的功能和API
自Java 8以來的新Java語言功能
| 特征 | 以來 | 從此開始預(yù)覽/孵化 |
| 記錄類型 | 14 | |
| instanceof的模式匹配 (如果(x instanceOf String){x在這里是String} | 14 | |
| 文字區(qū)塊 | 13 | |
| 開關(guān)表達式 (也在JDK 13中為JEP 354 ) | 14 | 12 |
| CompletionStage類中異常的新變體(異步,組件) | 12 | |
| 字符串API的改進 (縮進,轉(zhuǎn)換) | 12 | |
| CompactNumberFormat類 | 12 | |
| 字符串API的改進 (重復(fù),isBlank,條帶,行) | 11 | |
| Lambda參數(shù)的局部變量語法 | 11 | |
| 新的HTTP客戶端API | 11 | 9 |
| 局部變量類型推斷 | 10 | |
| 流API(反應(yīng)流) | 9 | |
| Java Platform Module System(模塊) | 9 | |
| 收集工廠方法 | 9 | |
| 流API的改進 (takeWhile,dropWhile,ofNullable,條件迭代) | 9 | |
| 多分辨率圖像API | 9 | |
| 堆棧步行API | 9 | |
| this.getClass()。getPackageName() | 9 | |
| 流程API更新 (有關(guān)流程的詳細信息,例如ID,onExit,destroy) | 9 | |
| CompletableFuture API增強功能 (延遲,超時) | 9 | |
| 接口私有方法 | 9 | |
| 從and forRemoval棄用注解 | 9 | |
| 接口默認方法和靜態(tài)方法 | 8 | |
| 方法參考 | 8 | |
| 選修課 | 8 | |
| Lambda表達式 | 8 | |
| 功能接口 | 8 | |
| 流API | 8 | |
| 有效的最終變量 | 8 | |
| 重復(fù)注釋 | 8 | |
| 新日期時間API | 8 |
自O(shè)penJDK 8以來的新JDK工具和功能
| 工具/功能 | 以來 | 自實驗 |
| 包裝工具 | 14 | |
| 有用的NullPointerExceptions | 14 | |
| 雪蘭多GC | 12 | |
| Epsilon(無操作)GC | 11 | |
| Z氣相色譜 | 11 | |
| 基于Java的實驗性JIT編譯器 (Graal VM) | 10 | |
| Docker容器支持 (-XX:-UseContainerSupport) | 10和 8u191 | |
| 靈活的堆大小選擇 (-XX:MaxRAMPercentage) | 10和 8u191 | |
| 應(yīng)用類別-數(shù)據(jù)共享 | 10 | |
| 捷聯(lián) | 9 | |
| JShell(Java REPL) | 9 | |
| 多版本JAR文件 | 9 | |
| 緊湊弦 | 9 |
不推薦使用/已刪除的功能和API:
| 功能/ API | 自棄用 | 自從刪除 |
| Solaris和SPARC端口 | 14 | |
| ParallelScavenge + SerialOld GC組合 | 14 | |
| 氣相色譜儀 | 9 | 14 |
| Pack200工具和API | 11 | 14 |
| Nashorn JavaScript引擎 | 11 | |
| Java FX (已移至OpenJFX ) | 11 | |
| Java EE和CORBA模塊 | 9 | 11 |
| javah本機頭 生成器 | 10 | |
| jhat堆可視化器 | 9 | |
| 啟動時JRE版本選擇 | 9 | |
| 很少使用的GC組合 | 8 | 9 |
| Applet API | 9 |
有關(guān)更多詳細信息, 盡管瀏覽了Java的所有歷史記錄,但javaalmanac.io/目錄對于瀏覽Java中的更改非常有用。 它可以為您提供所選Java版本之間 (例如Java 8和Java 11之間)的API的完全不同。 非常有用,如果您正在考慮遷移到特定的Java版本。
翻譯自: https://www.javacodegeeks.com/2020/03/new-features-between-java-8-and-java-14.html
總結(jié)
以上是生活随笔為你收集整理的Java 8和Java 14之间的新功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易语言 字段重复_使对易失性字段的操作原
- 下一篇: ddoscc攻击区别dns(ddos c