Java語言特性系列
序
本文主要講述一下Java9的新特性
特性列表
完整的特性詳見JDK 9 features往堡,這里列幾個(gè)相對(duì)重要的:
模塊系統(tǒng)JPMS(重磅
)
相關(guān)的規(guī)范及JEP:
- Java Platform Module System (JSR 376)
- JEP 261: Module System
- JEP 200: The Modular JDK
- JEP 201: Modular Source Code
- JEP 282: jlink: The Java Linker
- JEP 220: Modular Run-Time Images
- JEP 260: Encapsulate Most Internal APIs
相關(guān)解讀
- java9系列(三)模塊系統(tǒng)精要
- java9 opens與exports的區(qū)別
- java9遷移注意事項(xiàng)
- java9 module相關(guān)選項(xiàng)解析
G1成為默認(rèn)垃圾回收器
相關(guān)JEP:
- JEP 248: Make G1 the Default Garbage Collector
- JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector
- JEP 278: Additional Tests for Humongous Objects in G1
相關(guān)解讀
Unified JVM/GC Logging
相關(guān)JEP:
相關(guān)解讀
HTTP/2 Client(Incubator)
支持HTTP2,同時(shí)改進(jìn)httpclient的api,支持異步模式遏片。
相關(guān)JEP
相關(guān)解讀
jshell: The Java Shell (Read-Eval-Print Loop)
相關(guān)JEP
相關(guān)解讀
Convenience Factory Methods for Collections
相關(guān)JEP
以前大多使用Guava類庫集合類的工廠连锯,比如
Lists.newArrayList(1,2,3,4,5);
Sets.newHashSet(1,2,3,4,5);
Maps.newHashMap();
注意,上面這種返回的集合是mutable的
現(xiàn)在java9可以直接利用jdk內(nèi)置的集合工廠拥峦,比如
List.of(1,2,3,4,5);
Set.of(1,2,3,4,5);
Map.of("key1","value1","key2","value2","key3","value3");
注意,jdk9上面這種集合工廠返回的是immutable的
Process API Updates
相關(guān)JEP
相關(guān)解讀
Stack-Walking API
相關(guān)JEP
相關(guān)解讀
Variable Handles
相關(guān)JEP
相關(guān)解讀
docker方面支持
- Java SE support for Docker CPU and memory limits
- Docker CPU limits
- Experimental support for Docker memory limits
- Docker memory limits
其他
- JEP 238: Multi-Release JAR Files
- JEP 266: More Concurrency Updates
- JEP 274: Enhanced Method Handles
- JEP 295: Ahead-of-Time Compilation
小結(jié)
java9大刀闊斧卖子,重磅引入了模塊化系統(tǒng)略号,自身jdk的類庫也首當(dāng)其沖模塊化。新引入的jlink可以精簡化jdk的大小洋闽,外加Alpine Linux的docker鏡像玄柠,可以大大減少java應(yīng)用的docker鏡像大小,同時(shí)也支持了Docker的cpu和memory限制(Java SE 8u131及以上版本開始支持
)诫舅,非常值得使用羽利。
doc
- JDK 9 features
- Java 9 新特性概述
- java9系列(一)安裝及jshell使用
- java9系列(二)docker運(yùn)行java9
- java9系列(三)模塊系統(tǒng)精要
- java9系列(四)Process API更新
- java9系列(五)Stack-Walking API
- java9系列(六)HTTP/2 Client (Incubator)
- java9系列(七)Variable Handles
- java9系列(八)Multi-Release JAR Files
- java9系列(九)Make G1 the Default Garbage Collector
- java9 opens與exports的區(qū)別
- java9遷移注意事項(xiàng)
- java9 gc log參數(shù)遷移
- java9 module相關(guān)選項(xiàng)解析
- 使用maven構(gòu)建java9 service實(shí)例
- 使用示例帶你提前了解 Java 9 中的新特性