99
1010你可以在 [ Archived OpenJDK General-Availability Releases] ( http://jdk.java.net/archive/ ) 上下载自己需要的 JDK 版本!官方的新特性说明文档地址: https://openjdk.java.net/projects/jdk/ 。
1111
12+ ** 概览(精选了一部分)** :
13+
14+ - [ JEP 222: Java 命令行工具] ( https://openjdk.java.net/jeps/222 )
15+ - [ JEP 261: 模块化系统] ( https://openjdk.java.net/jeps/261 )
16+ - [ JEP 248:G1 成为默认垃圾回收器] ( https://openjdk.java.net/jeps/248 )
17+ - [ JEP 193: 变量句柄] ( https://openjdk.java.net/jeps/193 )
18+ - [ JEP 254:字符串存储结构优化] ( https://openjdk.java.net/jeps/254 )
19+
1220## JShell
1321
1422JShell 是 Java 9 新增的一个实用工具。为 Java 提供了类似于 Python 的实时命令行交互工具。
@@ -30,9 +38,9 @@ JShell 是 Java 9 新增的一个实用工具。为 Java 提供了类似于 Pyth
30383 . JShell 支持独立的表达式比如普通的加法运算 ` 1 + 1 ` 。
31394 . ......
3240
33- ## Java 平台模块系统
41+ ## 模块化系统
3442
35- Java 平台模块系统是 [ Jigsaw Project] ( https://openjdk.java.net/projects/jigsaw/ ) 的一部分,把模块化开发实践引入到了 Java 平台中,可以让我们的代码可重用性更好!
43+ 模块系统是 [ Jigsaw Project] ( https://openjdk.java.net/projects/jigsaw/ ) 的一部分,把模块化开发实践引入到了 Java 平台中,可以让我们的代码可重用性更好!
3644
3745** 什么是模块系统?** 官方的定义是:
3846
@@ -44,7 +52,7 @@ Java 平台模块系统是[Jigsaw Project](https://openjdk.java.net/projects/jig
4452
4553![ ] ( https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/java-guide-blog/module-structure.png )
4654
47- 在引入了模块系统之后,JDK 被重新组织成 94 个模块。Java 应用可以通过新增的 ** [ jlink] ( http://openjdk.java.net/jeps/282 ) 工具** (Java 的新命令行工具 ),创建出只包含所依赖的 JDK 模块的自定义运行时镜像。这样可以极大的减少 Java 运行时环境的大小。
55+ 在引入了模块系统之后,JDK 被重新组织成 94 个模块。Java 应用可以通过新增的 ** [ jlink] ( http://openjdk.java.net/jeps/282 ) 工具** (Jlink 是随 Java 9 一起发布的新命令行工具。它允许开发人员为基于模块的 Java 应用程序创建自己的轻量级、定制的 JRE ),创建出只包含所依赖的 JDK 模块的自定义运行时镜像。这样可以极大的减少 Java 运行时环境的大小。
4856
4957我们可以通过 ` exports ` 关键词精准控制哪些类可以对外开放使用,哪些类只能内部使用。
5058
@@ -66,6 +74,13 @@ module my.module {
6674- [ 《Java 9 Modules: part 1》] ( https://stacktraceguru.com/java9/module-introduction )
6775- [[ Java 9 揭秘(2. 模块化系统)] ( https://www.cnblogs.com/IcanFixIt/p/6947763.html )] ( http://www.cnblogs.com/IcanFixIt/p/6947763.html )
6876
77+ ## G1 成为默认垃圾回收器
78+
79+ 在 Java 8 的时候,默认垃圾回收器是 Parallel Scavenge(新生代)+Parallel Old(老年代)。到了 Java 9, CMS 垃圾回收器被废弃了,** G1(Garbage-First Garbage Collector)** 成为了默认垃圾回收器。
80+
81+ G1 还是在 Java 7 中被引入的,经过两个版本优异的表现成为成为默认垃圾回收器。
82+
83+
6984## 快速创建不可变集合
7085
7186增加了` List.of() ` 、` Set.of() ` 、` Map.of() ` 和 ` Map.ofEntries() ` 等工厂方法来创建不可变集合(有点参考 Guava 的味道):
@@ -238,6 +253,7 @@ System.out.println(currentProcess.info());
238253
239254## 参考
240255
256+ - Java version history:https://en.wikipedia.org/wiki/Java_version_history
241257- Release Notes for JDK 9 and JDK 9 Update Releases : https://www.oracle.com/java/technologies/javase/9-all-relnotes.html
242258- 《深入剖析 Java 新特性》-极客时间 - JShell:怎么快速验证简单的小问题?
243259- New Features in Java 9:https://www.baeldung.com/new-java-9
0 commit comments