Update Java_虚拟机.md

This commit is contained in:
heibaiying 2019-12-23 17:41:26 +08:00 committed by GitHub
parent b391a4234a
commit c4d3198e5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -51,7 +51,7 @@
在 2017 年 JDK 9 发布后Oracle 公司宣布从此以后 JDK 将会在每年的 3 月和 9 月各发布一个大版本,即半年发行一个大版本,目的是为了避免众多功能被捆绑到一个 JDK 版本上而引发的无法交付的风险。 在 2017 年 JDK 9 发布后Oracle 公司宣布从此以后 JDK 将会在每年的 3 月和 9 月各发布一个大版本,即半年发行一个大版本,目的是为了避免众多功能被捆绑到一个 JDK 版本上而引发的无法交付的风险。
在 JDK 11 发布后Oracle 同时调整了 JDK 的商业授权,宣布从 JDK 11 起将以前的商业特性全部开源给 OpenJDK ,这样 OpenJDK 11 和 OracleJDK 11 的代码和功能,在本质上就是完全相同的。同时 Oracle 还宣布以后都会发行两个版本的 JDK 在 JDK 11 发布后Oracle 调整了 JDK 的商业授权,宣布从 JDK 11 起将以前的商业特性全部开源给 OpenJDK ,这样 OpenJDK 11 和 OracleJDK 11 的代码和功能,在本质上就是完全相同的。同时 Oracle 还宣布以后都会发行两个版本的 JDK
+ 一个是在 GPLv2 + CE 协议下由 Oracle 开源的 OpenJDK + 一个是在 GPLv2 + CE 协议下由 Oracle 开源的 OpenJDK
+ 一个是在 OTN 协议下正常发行的 OracleJDK。 + 一个是在 OTN 协议下正常发行的 OracleJDK。
@ -262,9 +262,7 @@ System.gc();
+ **部分收集 (Partial GC)**:具体分为: + **部分收集 (Partial GC)**:具体分为:
+ 新生代收集Minor GC / Young GC只对新生代进行垃圾收集 + 新生代收集Minor GC / Young GC只对新生代进行垃圾收集
+ 老年代收集Major GC / Old GC只对老年代进行垃圾收集。需要注意的是 Major GC 在有的语境中也用于指代整堆收集; + 老年代收集Major GC / Old GC只对老年代进行垃圾收集。需要注意的是 Major GC 在有的语境中也用于指代整堆收集;
+ 混合收集Mixed GC对整个新生代和部分老年代进行垃圾收集。 + 混合收集Mixed GC对整个新生代和部分老年代进行垃圾收集。
+ **整堆收集 (Full GC)**:收集整个 Java 堆和方法区。 + **整堆收集 (Full GC)**:收集整个 Java 堆和方法区。
#### 3. 标记-清除算法 #### 3. 标记-清除算法
@ -315,7 +313,6 @@ HotSpot 虚拟机中一共存在七款经典的垃圾收集器:
分别介绍如下:
### 5.1 Serial 收集器 ### 5.1 Serial 收集器