Skip to content

Commit dbacbad

Browse files
committed
[docs update] java 9新特性部分内容完善
1 parent ba61581 commit dbacbad

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
> [JavaGuide 官方知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)来啦!!!如果你需要专属面试小册/一对一交流/简历修改/专属求职指南/学习打卡,不妨花 3 分钟左右看看星球的详细介绍: [JavaGuide 知识星球详细介绍](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc) (一定要确定自己真的需要再加入,一定要看完详细介绍之后再加我)。
22
3-
<div style="text-align:center">
3+
<div align="center">
44
<p>
55
<a href="https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc">
66
<img src="./media/sponsor/xingqiu.png" style="margin: 0 auto; width: 850px;" />

docs/.vuepress/themeConfig.ts

-4
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ export default defineThemeConfig({
3434
plugins: ["highlight", "math", "search", "notes", "zoom"],
3535
},
3636
},
37-
feed: {
38-
rss: true,
39-
json:true
40-
},
4137
// docsearch: {
4238
// appId: "",
4339
// apiKey: "",

docs/java/new-features/java9.md

+19-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ tag:
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

1422
JShell 是 Java 9 新增的一个实用工具。为 Java 提供了类似于 Python 的实时命令行交互工具。
@@ -30,9 +38,9 @@ JShell 是 Java 9 新增的一个实用工具。为 Java 提供了类似于 Pyth
3038
3. JShell 支持独立的表达式比如普通的加法运算 `1 + 1`
3139
4. ......
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

Comments
 (0)