Java9的新特性
Java语言特性系列模块系统JPMS(
相关的规范及JEP:
- Java5的新特性
- Java6的新特性
- Java7的新特性
- Java8的新特性
- Java9的新特性
- Java10的新特性
- Java11的新特性
- Java12的新特性
- Java13的新特性
序
本文主要讲述一下Java9的新特性
特性列表
完整的特性详见JDK 9 features,这里列几个相对重要的:
模块系统JPMS(重磅
)
相关的规范及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
- java9系列(三)模块系统精要
- java9 opens与exports的区别
- java9迁移注意事项
- java9 module相关选项解析
G1成为默认垃圾回收器
相关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
- java9系列(九)Make G1 the Default Garbage Collector
Unified JVM/GC Logging
相关JEP:相关解读- java9 gc log参数迁移
HTTP/2 Client(Incubator)
支持HTTP2,同时改进httpclient的api,支持异步模式。
相关JEP相关解读- java9系列(六)HTTP/2 Client (Incubator)
jshell: The Java Shell (Read-Eval-Print Loop)
相关JEP相关解读- java9系列(一)安装及jshell使用
Convenience Factory Methods for Collections
相关JEP以前大多使用Guava类库集合类的工厂,比如
Lists.newArrayList(1,2,3,4,5); Sets.newHashSet(1,2,3,4,5); Maps.newHashMap();注意,上面这种返回的集合是mutable的
现在java9可以直接利用jdk内置的集合工厂,比如
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
相关JEP相关解读- java9系列(四)Process API更新
Stack-Walking API
相关JEP相关解读- java9系列(五)Stack-Walking API
Variable Handles
相关JEP相关解读- java9系列(七)Variable Handles
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
- java9系列(八)Multi-Release JAR Files
- JEP 266: More Concurrency Updates
- JEP 274: Enhanced Method Handles
- JEP 295: Ahead-of-Time Compilation
小结
java9大刀阔斧,重磅引入了模块化系统,自身jdk的类库也首当其冲模块化。新引入的jlink可以精简化jdk的大小,外加Alpine Linux的docker镜像,可以大大减少java应用的docker镜像大小,同时也支持了Docker的cpu和memory限制(Java SE 8u131及以上版本开始支持
),非常值得使用。
doc
- JDK 9 features
- Java 9 新特性概述
- java9系列(一)安装及jshell使用
- java9系列(二)docker运行java9
- java9系列(三)模块系统精要
- 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的区别
- java9迁移注意事项
- java9 gc log参数迁移
- java9 module相关选项解析
- 使用maven构建java9 service实例
- 使用示例带你提前了解 Java 9 中的新特性
相关推荐
chensen 2020-11-14
lwnylslwnyls 2020-11-06
ATenhong 2020-10-15
yanzhelee 2020-10-13
佛系程序员J 2020-10-10
guojin0 2020-10-08
佛系程序员J 2020-10-08
bluewelkin 2020-09-16
wwzaqw 2020-09-04
zhongdaowendao 2020-09-02
favouriter 2020-08-18
奎因amp华洛 2020-08-15
一青年 2020-08-13
千锋 2020-08-10
nangongyanya 2020-08-09
dongxurr 2020-08-08
明天你好 2020-08-03
kyelu 2020-08-03
Ashes 2020-08-03