JDK10新特性-你瞭解多少
- 區域性變數型別推斷
區域性變數型別推斷是Java 10中最值得注意的特性,這是Java語言開發人員為了簡化Java應用程式的編寫而採取的又一步。
var sts=new ArrayList();
新的語法將減少與編寫Java相關的冗長度,同時保持對靜態型別安全性的承諾。
區域性變數型別推斷將引入”var”關鍵字,也就是你可以隨意定義變數而不必指定變數的型別
var num1=10;
var num2=true;
雖然型別推斷在Java中不是一個新概念,但在區域性變數中確是很大的一個改進。
說到型別推斷,從JDK 5引進泛型,到JDK 7的”<>”操作符允許不繫結型別而初始化List,再到JDK 8的Lambda表示式,再到現在JDK 10的區域性變數型別推斷,Java型別推斷正大刀闊斧的向前發展。
區域性變數型別推薦僅限於如下使用場景:
區域性變數初始化
for迴圈內部索引變數
傳統的for迴圈宣告變數
Java官方表示,它不能用於以下幾個地方:
方法引數
建構函式引數
方法返回型別
欄位
捕獲表示式(或任何其他型別的變數宣告)
2. GC改進和記憶體管理
JDK 10中有2個JEP專門用於改進當前的垃圾收集元素。
第一個垃圾收集器介面是(JEP 304),它將引入一個純淨的垃圾收集器介面,以幫助改進不同垃圾收集器的原始碼隔離。
預定用於Java 10的第二個JEP是針對G1的並行完全GC(JEP 307),其重點在於通過完全GC並行來改善G1最壞情況的等待時間。G1是Java 9中的預設GC,並且此JEP的目標是使G1平行。
執行緒本地握手(JEP 312)
JDK 10將引入一種線上程上執行回撥的新方法,因此這將會很方便能停止單個執行緒而不是停止全部執行緒或者一個都不停。備用記憶體裝置上的堆分配(JEP 316)
允許HotSpot VM在備用記憶體裝置上分配Java物件堆記憶體,該記憶體裝置將由使用者指定。其他Unicode語言 - 標記擴充套件(JEP 314)
目標是增強java.util.Locale及其相關的API,以便實現語言標記語法的其他Unicode擴充套件(BCP 47)。基於Java的實驗性JIT編譯器
Oracle希望將其Java JIT編譯器Graal用作Linux / x64平臺上的實驗性JIT編譯器。根證照(JEP 319)
這個的目標是在Oracle的Java SE中開源根證照。根證照頒發認證
這將使OpenJDK對開發人員更具吸引力,它還旨在減少OpenJDK和Oracle JDK構建之間的差異。將JDK生態整合單個儲存庫(JEP 296)
此JEP的主要目標是執行一些記憶體管理,並將JDK生態的眾多儲存庫組合到一個儲存庫中。刪除工具javah(JEP 313)
從JDK中移除了javah工具,這個很簡單並且很重要。
相關文章
- JDK8新特性-你瞭解多少JDK
- JDK9新特性-你瞭解多少JDK
- JDK10都發布了,nio你瞭解多少?JDK
- JDK10新特性詳解JDK
- 《JDK10新特性官方文件》從JDK10中移除javah工具JDKJava
- 一句話解釋c#中的特性,你瞭解多少C#
- 當紅“Serverless”,你瞭解多少?Server
- 關於Synchronized你瞭解多少?synchronized
- java異常你瞭解多少Java
- 關於新媒體運營崗位,你瞭解多少?
- Java8新特性,你應該瞭解這些!Java
- Java String 物件,你瞭解多少?Java物件
- 關於繼承,你瞭解多少?繼承
- 抽象類和介面,你瞭解多少?抽象
- .NET中的字串你瞭解多少?字串
- 你對position的瞭解有多少?
- 面試-關於Http協議你瞭解多少,有多少說多少面試HTTP協議
- 使用示例帶你提前瞭解 Java 9 中的新特性Java
- 商城系統原始碼你瞭解多少?原始碼
- 關於區塊鏈你瞭解多少區塊鏈
- HTTP專業術語,你瞭解多少?HTTP
- 區塊鏈價值你瞭解多少?區塊鏈
- 面試必問之 CopyOnWriteArrayList,你瞭解多少?面試
- Android效能優化你瞭解多少Android優化
- 直流負載的案例,你瞭解多少?負載
- 帶你瞭解PHP7裡生成器的新特性PHP
- jdk5到jdk10各個版本的新特性JDK
- 面試必問的volatile,你瞭解多少?面試
- Android Studio3.3你瞭解多少?Android
- Python 的技巧和方法你瞭解多少?Python
- 你對CommonJS規範瞭解多少?JS
- 對Docker的瞭解,你能讀懂多少?Docker
- 細粒度授權二三事,你瞭解多少?
- 關於Linux知識你瞭解多少呢?Linux
- GO 語言的併發模式你瞭解多少?Go模式
- 你對Linux瞭解多少?看看不吃虧!Linux
- 關於Mysql資料儲存,你瞭解多少?MySql
- 你不得不瞭解 Helm 3 中的 5 個關鍵新特性