From b391a4234a93befd8f6696ccca43dc42b1122c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Mon, 23 Dec 2019 17:36:51 +0800 Subject: [PATCH] =?UTF-8?q?Java=E8=99=9A=E6=8B=9F=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Java_虚拟机.md | 269 ++++++++++++------ pictures/G1_内存布局.png | Bin 0 -> 20709 bytes pictures/java虚拟机运行时数据区.png | Bin 15743 -> 26942 bytes pictures/jvm_hotspot_垃圾收集器.png | Bin 0 -> 28479 bytes pictures/jvm_jdk9_双亲委派模型.png | Bin 0 -> 21776 bytes pictures/jvm_双亲委派模型.png | Bin 0 -> 21397 bytes pictures/jvm_可达性分析.png | Bin 0 -> 22208 bytes pictures/jvm_指针碰撞.png | Bin 0 -> 5071 bytes pictures/jvm_收集器1.png | Bin 0 -> 20998 bytes pictures/jvm_收集器2.png | Bin 0 -> 25450 bytes pictures/jvm_收集器3.png | Bin 0 -> 20184 bytes pictures/jvm_收集器4.png | Bin 0 -> 21826 bytes pictures/jvm_收集器5.png | Bin 0 -> 23205 bytes pictures/jvm_标记复制算法.png | Bin 0 -> 10169 bytes pictures/jvm_标记清除算法.png | Bin 0 -> 9065 bytes pictures/jvm_标记移动算法.png | Bin 0 -> 9335 bytes pictures/jvm_类的生命周期.png | Bin 0 -> 15734 bytes pictures/jvm_通过句柄访问对象.png | Bin 0 -> 33612 bytes .../jvm_通过直接指针访问对象.png | Bin 0 -> 28913 bytes 19 files changed, 188 insertions(+), 81 deletions(-) create mode 100644 pictures/G1_内存布局.png create mode 100644 pictures/jvm_hotspot_垃圾收集器.png create mode 100644 pictures/jvm_jdk9_双亲委派模型.png create mode 100644 pictures/jvm_双亲委派模型.png create mode 100644 pictures/jvm_可达性分析.png create mode 100644 pictures/jvm_指针碰撞.png create mode 100644 pictures/jvm_收集器1.png create mode 100644 pictures/jvm_收集器2.png create mode 100644 pictures/jvm_收集器3.png create mode 100644 pictures/jvm_收集器4.png create mode 100644 pictures/jvm_收集器5.png create mode 100644 pictures/jvm_标记复制算法.png create mode 100644 pictures/jvm_标记清除算法.png create mode 100644 pictures/jvm_标记移动算法.png create mode 100644 pictures/jvm_类的生命周期.png create mode 100644 pictures/jvm_通过句柄访问对象.png create mode 100644 pictures/jvm_通过直接指针访问对象.png diff --git a/notes/Java_虚拟机.md b/notes/Java_虚拟机.md index 8ef6764..5630eec 100644 --- a/notes/Java_虚拟机.md +++ b/notes/Java_虚拟机.md @@ -1,29 +1,68 @@ # Java 虚拟机 + ## 一、基本概念 ### 1.1 OpenJDK -自 1996 年 `JDK 1.0` 发布以来,Sun 公司在大版本上发行了 `JDK 1.1`、`JDK 1.2`、`JDK 1.3`、`JDK 1.4`、`JDK 5`,`JDK 6` ,这些版本的 JDK 都可以统称为 SunJDK 。之后在 2006 年的 JavaOne 大会上,Sun 公司宣布计划要把 Java 开源,在随后的一年多里,它陆续将 JDK 各个部分在 GPL v2(GNU General Public License, version 2)协议下开源,并建立了 OpenJDK 组织来对这些代码进行独立的管理,这就是 OpenJDK 的来源,此时的 OpenJDK 拥有当时 sunJDK 7 的几乎全部代码。 +自 1996 年 `JDK 1.0` 发布以来,Sun 公司在大版本上发行了 `JDK 1.1`、`JDK 1.2`、`JDK 1.3`、`JDK 1.4`、`JDK 5`,`JDK 6` ,这些版本的 JDK 都可以统称为 SunJDK 。之后在 2006 年的 JavaOne 大会上,Sun 公司宣布将 Java 开源,在随后的一年多里,它陆续将 JDK 的各个部分在 GPL v2(GNU General Public License,version 2)协议下开源,并建立了 OpenJDK 组织来对这些代码进行独立的管理,这就是 OpenJDK 的来源,此时的 OpenJDK 拥有当时 sunJDK 7 的几乎全部代码。 ### 1.2 OracleJDK 在 JDK 7 的开发期间,由于各种原因的影响 Sun 公司市值一路下跌,已无力推进 JDK 7 的开发,JDK 7 的发布一直被推迟。之后在 2009 年 Sun 公司被 Oracle 公司所收购,为解决 JDK 7 长期跳票的问题,Oracle 将 JDK 7 中大部分未能完成的项目推迟到 JDK 8 ,并于 2011 年发布了JDK 7,在这之后由 Oracle 公司正常发行的 JDK 版本就由 SunJDK 改称为 Oracle JDK。 -在 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; + 一个是在 OTN 协议下正常发行的 OracleJDK。 -两者共享大部分源码,在功能上几乎一致。唯一的区别是 Oracle OpenJDK 可以在开发、测试或者生产环境中使用,但只有半年的更新支持。而 OracleJDK 对个人免费,但在生产环境中商用收费,可以有三年时间的更新支持。 +两者共享大部分源码,在功能上几乎一致。唯一的区别是 Oracle OpenJDK 可以在开发、测试或者生产环境中使用,但只有半年的更新支持;而 OracleJDK 对个人免费,但在生产环境中商用收费,可以有三年时间的更新支持。 ### 1.3 HotSpot VM 它是 Sun/Oracle JDK 和 OpenJDK 中默认的虚拟机,也是目前使用最为广泛的虚拟机。最初由 Longview Technologies 公司设计发明,该公司在 1997 年被 Sun 公司收购,随后 Sun 公司在 2006 年开源 SunJDK 时也将 HotSpot 虚拟机一并进行了开源。之后 Oracle 收购 Sun 以后,建立了 HotRockit 项目,用于将其收购的另外一家公司(BEA)的 JRockit 虚拟机中的优秀特性集成到 HotSpot 中。HotSpot 在这个过程里面移除掉永久代,并吸收了 JRockit 的 Java Mission Control 监控工具等功能。到 JDK 8 发行时,采用的就是集两者之长的 HotSpot VM 。 -我们可以在自己的电脑上使用 `java -version` 来获得以上相关信息: +我们可以在自己的电脑上使用 `java -version` 来获得 JDK 的信息: ```shell C:\Users> java -version @@ -36,18 +75,20 @@ Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) # 使用的是H ## 二、Java 内存区域 -TODO 图 +
+ + ### 2.1 程序计数器 -程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。字节码解释器通过改变程序计数器的值来选取下一条需要执行的字节码指令;分支、循环、跳转、异常处理、线程恢复等基础功能都需要该计数器来完成。每条线程都拥有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储。 +程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。字节码解释器通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要该计数器来完成。每条线程都拥有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储。 ### 2.2 Java虚拟机栈 Java 虚拟机栈(Java Virtual Machine Stack)也为线程私有,它描述的是 Java 方法执行的线程内存模型:每个方法被执行的时候,Java 虚拟机都会同步创建一个栈帧,用于存储局部变量表、操作数栈、动态连接、方法出口等信息。方法从调用到结束就对应着一个栈帧从入栈到出栈的过程。在《Java 虚拟机规范》中,对该内存区域规定了两类异常: -+ 如果线程请求的栈深度大于虚拟机所允许的深度,将抛出 `StackOverflowError` 异常; -+ 如果 Java 虚拟机栈容量允许动态扩展,当栈扩展时无法申请到足够的内存会抛出 `OutOfMemoryError` 异常。 ++ 如果线程请求的栈深度大于虚拟机所允许的栈深度,将抛出 `StackOverflowError` 异常; ++ 如果 Java 虚拟机栈的容量允许动态扩展,当栈扩展时如果无法申请到足够的内存会抛出 `OutOfMemoryError` 异常。 ### 2.3 本地方法栈 @@ -55,7 +96,7 @@ Java 虚拟机栈(Java Virtual Machine Stack)也为线程私有,它描述 ### 2.4 Java堆 -Java 堆(Java Heap)是虚拟机所管理的最大一块的内存空间,它被所有线程所共享,用于存放对象实例。Java 堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。Java 堆可以被实现成固定大小的,也可以是可扩展的,当前大多数主流的虚拟机都是按照可扩展来实现的,即可以通过最大值参数 `-Xmx` 和最小值参数 `-Xms` 进行设定。如果 Java 堆中没有足够的内存来完成实例分配,并且堆也无法再扩展时,Java 虚拟机将会抛出 `OutOfMemoryError` 异常。 +Java 堆(Java Heap)是虚拟机所管理的最大一块的内存空间,它被所有线程所共享,用于存放对象实例。Java 堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为是连续的。Java 堆可以被实现成固定大小的,也可以是可扩展的,当前大多数主流的虚拟机都是按照可扩展来实现的,即可以通过最大值参数 `-Xmx` 和最小值参数 `-Xms` 进行设定。如果 Java 堆中没有足够的内存来完成实例分配,并且堆也无法再扩展时,Java 虚拟机将会抛出 `OutOfMemoryError` 异常。 ### 2.5 方法区 @@ -79,16 +120,18 @@ Java 堆(Java Heap)是虚拟机所管理的最大一块的内存空间,它 + **指针碰撞**:假设 Java 堆中内存是绝对规整的,所有使用的内存放在一边,所有未被使用的内存放在另外一边,中间以指针作为分界点指示器。此时内存分配只是将指针向空闲方向偏移出对象大小的空间即可,这种方式被称为指针碰撞。 -TODO 图 +
+ + + **空闲列表**:如果 Java 堆不是规整的,此时虚拟机需要维护一个列表,记录哪些内存块是可用的,哪些是不可用的。在进行内存分配时,只需要从该列表中选取出一块足够的内存空间划分给对象实例即可。 -> 注:Java 堆是否规整取决于其采用的垃圾收集器是否带有空间压缩整理能力来决定,后文将会介绍。 +> 注:Java 堆是否规整取决于其采用的垃圾收集器是否带有空间压缩整理能力,后文将会介绍。 -除了分配方式外,由于对象创建在虚拟机中是一个非常频繁的行为,此时需要保证在并发环境下的线程安全:如果一个线程给对象 A 分配了内存空间,但指针还没来得及修改,此时就可能出现另外一个线程使用原来的指针来给对象 B 分配内存空间的情况。同样解决这个问题也有两个方案: +除了分配方式外,由于对象创建在虚拟机中是一个非常频繁的行为,此时需要保证在并发环境下的线程安全:如果一个线程给对象 A 分配了内存空间,但指针还没来得及修改,此时就可能出现另外一个线程使用原来的指针来给对象 B 分配内存空间的情况。想要解决这个问题有两个方案: -+ **方式一**:采用 CAS 配上失败重试的方式来保证更新操作的原子性。 -+ **方式二**:为每个线程在 Java 堆中预先分配一块内存,称为本地线程分配缓冲(Thread Local Allocation Buffer,TLAB)。线程在进行内存分配时优先使用本地缓冲区,当缓冲区使用完成后,再向 Java 堆申请分配,此时 Java 堆采用同步锁定来保证分配行为的线程安全。 ++ **方式一**:采用同步锁定,或采用 CAS 配上失败重试的方式来保证更新操作的原子性。 ++ **方式二**:为每个线程在 Java 堆中预先分配一块内存,称为本地线程分配缓冲(Thread Local Allocation Buffer,TLAB)。线程在进行内存分配时优先使用本地缓冲,当本地缓冲使用完成后,再向 Java 堆申请分配,此时 Java 堆采用同步锁定的方式来保证分配行为的线程安全。 **3. 对象头设置** @@ -107,7 +150,7 @@ TODO 图 对象头包括两部分信息: + **Mark Word**:对象自身的运行时数据,如哈希码、GC 分代年龄、锁状态标志、线程持有的锁、偏向线程 ID、偏向时间戳等,官方统称为 Mark Word 。 -+ **类型指针**:对象指向它类型元数据的指针,Java 虚拟机通过这个指针来确定该对象是哪个类的示例。需要说明的是并非所有的虚拟机都必须要在对象数据上保留类型指针,这取决于对象的访问定位方式(后文会有介绍)。 ++ **类型指针**:对象指向它类型元数据的指针,Java 虚拟机通过这个指针来确定该对象是哪个类的示例。需要说明的是并非所有的虚拟机都必须要在对象数据上保留类型指针,这取决于对象的访问定位方式(详见下文)。 **2. 实例数据 (Instance Data)** @@ -115,7 +158,7 @@ TODO 图 **3. 对其填充 (Padding)** -主要起占位符的作用。HotSpot 虚拟机要求对象起始地址必须是 8 字节的整倍数,即间接要求了任何对象的大小都必须是 8 字节的整倍数。对象头部分在设计上就是 8 字节的整倍数,如果对象实例数据不是 8 字节的整倍数,则由对齐填充进行补全。 +主要起占位符的作用。HotSpot 虚拟机要求对象起始地址必须是 8 字节的整倍数,即间接要求了任何对象的大小都必须是 8 字节的整倍数。对象头部分在设计上就是 8 字节的整倍数,如果对象的实例数据不是 8 字节的整倍数,则由对齐填充进行补全。 ### 3.3 对象的访问定位 @@ -124,7 +167,19 @@ TODO 图 + **句柄访问**:Java 堆将划分出一块内存来作为句柄池, `reference` 中存储的是对象的句柄地址,而句柄则包含了对象实例数据和类型数据的地址信息。 + **指针访问**:`reference` 中存储的直接就是对象地址,而对象的类型数据则由上文介绍的对象头中的类型指针来指定。 -句柄访问的优点在于对象移动时(垃圾收集时移动对象是非常普遍的行为)只需要改变句柄中实例数据的指针,而 `reference` 本生并不需要修改;指针访问则反之,由于其 `reference` 中存储的直接就是对象地址,所以当对象移动时, `reference` 需要被修改。但如果只需要访问对象本身的场景,指针访问则可以减少一次定位的时间开销。由于对象访问是一项非常频繁的操作,所以这类减少的效果会非常显著,基于这个原因,HotSpot 主要使用的是指针访问的方式。 +通过句柄访问对象: + +
+ + + +通过直接指针访问对象: + +
+ + + +句柄访问的优点在于对象移动时(垃圾收集时移动对象是非常普遍的行为)只需要改变句柄中实例数据的指针,而 `reference` 本生并不需要修改;指针访问则反之,由于其 `reference` 中存储的直接就是对象地址,所以当对象移动时, `reference` 需要被修改。但针对只需要访问对象本身的场景,指针访问则可以减少一次定位开销。由于对象访问是一项非常频繁的操作,所以这类减少的效果会非常显著,基于这个原因,HotSpot 主要使用的是指针访问的方式。 ## 四、垃圾收集算法 @@ -146,18 +201,20 @@ objB = null; System.gc(); ``` -此时两个对象已经不能再被访问,但其互相持有对对方的引用,如果采用引用计数法,则此时两个对象都无法被回收。 +如上所示,此时两个对象已经不能再被访问,但其互相持有对对方的引用,如果采用引用计数法,则两个对象都无法被回收。 #### 2. 可达性分析 -上面的代码在大多数虚拟机中都能被正确的回收,因为大多数主流的虚拟机都是采用的可达性分析方法来判断对象是否死亡。可达性分析是通过一系列被称为 `GC Roots` 的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为引用链(Reference Chain),如果某个对象到 `GC Roots` 间没有任何引用链相连,这代表 `GC Roots` 到该对象不可达, 此时证明此对象不可能再被使用。 +上面的代码在大多数虚拟机中都能被正确的回收,因为大多数主流的虚拟机都是采用的可达性分析方法来判断对象是否死亡。可达性分析是通过一系列被称为 `GC Roots` 的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径被称为引用链(Reference Chain),如果某个对象到 `GC Roots` 间没有任何引用链相连,这代表 `GC Roots` 到该对象不可达, 此时证明此该对象不可能再被使用。 + +
+ -TODO 图 在 Java 语言中,固定可作为 `GC Roots` 的对象包括以下几种: + 在虚拟机栈(栈帧中的本地变量表)中引用的对象,譬如各个线程被调用的方法堆栈中使用到的参数、局部变量、临时变量等; -+ 在方法区中类静态属性引用的对象,譬如 Java 类的引用类型静态变量; ++ 在方法区中类静态属性引用的对象,譬如 Java 类中引用类型的静态变量; + 在方法区中常量引用的对象,譬如字符串常量池(String Table)里的引用; + 在本地方法栈中的 JNI(即 Native 方法)引用的对象; + Java 虚拟机内部的引用,如基本数据类型对应的 Class 对象,一些常驻的异常对象(如 NullPointException,OutOfMemoryError 等)及系统类加载器; @@ -172,19 +229,19 @@ TODO 图 + **强引用 (Strongly Reference)** :最传统的引用,如 `Object obj = new Object()` 。无论任何情况下,只要强引用关系还存在,垃圾收集器就永远不会回收掉被引用的对象。 + **软引用 (Soft Reference)** :用于描述一些还有用,但非必须的对象。只被软引用关联着的对象,在系统将要发生内存溢出异常之前,会被列入回收范围内进行第二次回收,如果这次回收后还没有足够的内存,才会抛出内存溢出异常。 -+ **弱引用 (Weak Reference)** :用于描述那些非必须的对象,强度比软引用弱;被弱引用关联对象只能生存到下一次垃圾收集发生时,无论当前内存是否足够,弱引用对象都会被回收。 -+ **虚引用 (Phantom Reference)** :最弱的引用关系。为一个对象设置虚引用关联的唯一目的只是为了能在这个对象被回收器回收时收到一个系统通知。 ++ **弱引用 (Weak Reference)** :用于描述那些非必须的对象,强度比软引用弱。被弱引用关联对象只能生存到下一次垃圾收集发生时,无论当前内存是否足够,弱引用对象都会被回收。 ++ **虚引用 (Phantom Reference)** :最弱的引用关系。为一个对象设置虚引用关联的唯一目的只是为了能在这个对象被回收时收到一个系统通知。 #### 4. 对象真正死亡 要真正宣告一个对象死亡,需要经过至少两次标记过程: + 如果对象在进行可达性分析后发现 `GC Roots` 不可达,将会进行第一次标记; -+ 随后进行一次筛选,筛选的条件是此对象是否有必要执行 `finalized()` 方法。如果对象没有覆盖 `finalized()` 方法,或者 `finalized()` 已经被虚拟机调用过,这两种情况都会视为没有必要执行。如果判定结果是有必要执行,此时对象被放入名为 `F-Queue` 的队列,等待 Finalizer 线程执行其 `finalized()` 方法。在这个过程中,收集器会进行第二次小规模的标记,如果对象在 `finalized()` 方法中重新将自己与引用链上的任何一个对象进行了关联,如将自己(this 关键字)赋值给某个类变量或者对象的成员变量,此时第二次标记会将其移除 “即将回收” 的集合,否则该对象将要被真正回收,走向死亡。 ++ 随后进行一次筛选,筛选的条件是此对象是否有必要执行 `finalized()` 方法。如果对象没有覆盖 `finalized()` 方法,或者 `finalized()` 已经被虚拟机调用过,这两种情况都会视为没有必要执行。如果判定结果是有必要执行,此时对象会被放入名为 `F-Queue` 的队列,等待 Finalizer 线程执行其 `finalized()` 方法。在这个过程中,收集器会进行第二次小规模的标记,如果对象在 `finalized()` 方法中重新将自己与引用链上的任何一个对象进行了关联,如将自己(this 关键字)赋值给某个类变量或者对象的成员变量,此时它就实现了自我拯救,则第二次标记会将其移除 “即将回收” 的集合,否则该对象就将被真正回收,走向死亡。 ### 4.2 方法区回收 -在 Java 堆上进行对象回收的性价比通常比较高,因为大多数对象都是短暂使用的。而方法区由于回收条件比较苛刻,对应的回收性价比通常比较低,主要回收两部分内容:废弃的常量和不再使用的类型。 +在 Java 堆上进行对象回收的性价比通常比较高,因为大多数对象都是朝生夕灭的。而方法区由于回收条件比较苛刻,对应的回收性价比通常比较低,主要回收两部分内容:废弃的常量和不再使用的类型。 ### 4.3 垃圾收集算法 @@ -194,34 +251,35 @@ TODO 图 + **弱分代假说 (Weak Generational Hypothesis) **:绝大多数对象都是朝生夕灭的。 + **强分代假说 (Strong Generational Hypothesis) **:熬过越多次垃圾收集过程的对象就越难以消亡。 -+ **跨带引用假说 (Intergenerational Reference Hypothesis)**:基于上面两条假说得出的隐含推论:存在相互引用关系的两个对象,应该倾向于同时生存或者同时消亡。 ++ **跨带引用假说 (Intergenerational Reference Hypothesis)**:基于上面两条假说还可以得出的一条隐含推论:存在相互引用关系的两个对象,应该倾向于同时生存或者同时消亡。 -强弱分代假说奠定了垃圾收集器的设计原则:收集器应该将 Java 堆划分出不同的区域,然后将回收对象依据其年龄(年龄就是对象经历垃圾收集的次数)分配到不同的区域中进行存储。这样如果一个区域中的对象都是朝生夕灭的,那么收集器只需要关注少量对象的存活而不是去标记那些大量将要被回收的对象,此时就能以较小的代价获取较大的空间。此后再将难以消亡的对象集中到一块,根据强分代假说,它们是很难消亡的,因此虚拟机可以使用较低的频率进行回收,这就兼顾了时间和内存空间的开销。 +强弱分代假说奠定了垃圾收集器的设计原则:收集器应该将 Java 堆划分出不同的区域,然后将回收对象依据其年龄(年龄就是对象经历垃圾收集的次数)分配到不同的区域中进行存储。之后如果一个区域中的对象都是朝生夕灭的,那么收集器只需要关注少量对象的存活而不是去标记那些大量将要被回收的对象,此时就能以较小的代价获取较大的空间。最后再将难以消亡的对象集中到一块,根据强分代假说,它们是很难消亡的,因此虚拟机可以使用较低的频率进行回收,这就兼顾了时间和内存空间的开销。 #### 2. 回收类型 根据分代收集理论,收集范围可以分为以下几种类型: + **部分收集 (Partial GC)**:具体分为: - - + 新生代收集(Minor GC / Young GC):只对新生代进行垃圾收集; - + 老年代收集(Major GC / Old GC):只对老年代进行垃圾收集。需要注意的是 Major GC 在有的语境中也用于指代整堆收集 ; - - + 混合收集(Mixed GC):对整个新生代和部分老年代进行垃圾收集。 - ++ 新生代收集(Minor GC / Young GC):只对新生代进行垃圾收集; + + 老年代收集(Major GC / Old GC):只对老年代进行垃圾收集。需要注意的是 Major GC 在有的语境中也用于指代整堆收集; + ++ 混合收集(Mixed GC):对整个新生代和部分老年代进行垃圾收集。 + + **整堆收集 (Full GC)**:收集整个 Java 堆和方法区。 #### 3. 标记-清除算法 它是最基础的垃圾收集算法,收集过程分为两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象;也可以反过来,标记存活对象,统一回收所有未被标记的对象。 +
+ + + 它主要有以下两个缺点: + 执行效率不稳定:如果 Java 堆上包含大量需要回收的对象,则需要进行大量标记和清除动作; + 内存空间碎片化:标记清除后会产生大量不连续的空间,从而可能导致无法为大对象分配足够的连续内存。 -TODO 图 - #### 4. 标记-复制算法 标记-复制算法基于 ”半区复制“ 算法:它将可用内存按容量划分为大小相等的两块,每次只使用其中一块,当这一块的内存使用完了,就将还存活着的对象复制到另外一块上面,然后再把已经使用过的那块内存空间一次性清理掉。其优点在于避免了内存空间碎片化的问题,其缺点如下: @@ -229,34 +287,52 @@ TODO 图 + 如果内存中多数对象都是存活的,这种算法将产生大量的复制开销; + 浪费内存空间,内存空间变为了原有的一半。 -TODO 图 +
-基于新生代 “朝生夕灭” 的特定,大多数虚拟机不会按照 1:1 的比例来进行划分,例如 HotSpot 虚拟机就会将内存空间划分为一块较大的 `Eden` 和 两块较小的 `Survivor` 空间,它们之间的比例是 8:1:1 。 每次分配时只会使用 `Eden` 和其中的一块 `Survivor` ,发生垃圾回收时,只需要将存活的对象一次性复制到另外一块 `Survivor` 上,这样只有 10% 的内存空间会被浪费掉。当 `Survivor` 空间不足以容纳一次 `Minor GC` 时,此时由其他内存区域(通常是老年代)进行分配担保。 + + +基于新生代 “朝生夕灭” 的特点,大多数虚拟机都不会按照 1:1 的比例来进行内存划分,例如 HotSpot 虚拟机会将内存空间划分为一块较大的 `Eden` 和 两块较小的 `Survivor` 空间,它们之间的比例是 8:1:1 。 每次分配时只会使用 `Eden` 和其中的一块 `Survivor` ,发生垃圾回收时,只需要将存活的对象一次性复制到另外一块 `Survivor` 上,这样只有 10% 的内存空间会被浪费掉。当 `Survivor` 空间不足以容纳一次 `Minor GC` 时,此时由其他内存区域(通常是老年代)来进行分配担保。 #### 5. 标记-整理算法 -标记-整理算法是在标记完成后,让所有存活对象都向内存的一端移动,然后直接清理掉边界以外的内存。其优点在于可以避免内存空间碎片化的问题,也可以充分利用内存空间;其缺点在于根据所使用的收集器的不同,在移动存活对象时可能要全程暂停用户程序。 +标记-整理算法是在标记完成后,让所有存活对象都向内存的一端移动,然后直接清理掉边界以外的内存。其优点在于可以避免内存空间碎片化的问题,也可以充分利用内存空间;其缺点在于根据所使用的收集器的不同,在移动存活对象时可能要全程暂停用户程序: + +
+ -TODO 图 ## 五、经典垃圾收集器 并行与并发是并发编程中的专有名词,在谈论垃圾收集器的上下文语境中,它们的含义如下: -+ **并行 (Parallel)**:并行描述的是多条垃圾收集器线程之间的关系,说明同一时间有多条这样的线程在协同工作,通常默认此时用户线程是处于等待状态。 ++ **并行 (Parallel)**:并行描述的是多条垃圾收集器线程之间的关系,说明同一时间有多条这样的线程在协同工作,此时通常默认用户线程是处于等待状态。 + **并发 (Concurrent)**:并发描述的是垃圾收集器线程与用户线程之间的关系,说明同一时间垃圾收集器线程与用户线程都在运行。但由于垃圾收集器线程会占用一部分系统资源,所以程序的吞吐量依然会受到一定影响。 HotSpot 虚拟机中一共存在七款经典的垃圾收集器: +
+ + + +分别介绍如下: + ### 5.1 Serial 收集器 -Serial 收集器是最基础、历史最悠久的收集器,它是一个单线程收集器,在进行垃圾回收时,必须暂停其他所有的工作线程,直到收集结束,这是其主要缺点。它的优点在于单线程避免了多线程复杂的上下文切换,因此其在单线程环境下收集效率非常高,由于这个优点,迄今为止,其仍然是 HotSpot 虚拟机在客户端模式下默认的新生代收集器: +Serial 收集器是最基础、历史最悠久的收集器,它是一个单线程收集器,在进行垃圾回收时,必须暂停其他所有的工作线程,直到收集结束,这是其主要缺点。它的优点在于单线程避免了多线程复杂的上下文切换,因此在单线程环境下收集效率非常高,由于这个优点,迄今为止,其仍然是 HotSpot 虚拟机在客户端模式下默认的新生代收集器: + +
+ + ### 5.2 ParNew 收集器 他是 Serial 收集器的多线程版本,可以使用多条线程进行垃圾回收: +
+ + + ### 5.3 Parallel Scavenge 收集器 Parallel Scavenge 也是新生代收集器,基于 标记-复制 算法进行实现,它的目标是达到一个可控的吞吐量。这里的吞吐量指的是处理器运行用户代码的时间与处理器总消耗时间的比值: @@ -266,40 +342,62 @@ $$ Parallel Scavenge 收集器提供两个参数用于精确控制吞吐量: + **-XX:MaxGCPauseMillis**:控制最大垃圾收集时间,假设需要回收的垃圾总量不变,那么降低垃圾收集的时间就会导致收集频率变高,所以需要将其设置为合适的值,不能一味减小。 -+ **-XX:MaxGCTimeRatio**:直接用于设置吞吐量大小,它是一个大于 0 小于 100 的整数。假设把它设置为 19,此时表示允许的最大垃圾收集时间占总时间的 5%(即 1/(1+19) );默认值为 99 ,即允许最大 1%( 1/(1+99) )的垃圾收集时间。 ++ **-XX:MaxGCTimeRatio**:直接用于设置吞吐量大小,它是一个大于 0 小于 100 的整数。假设把它设置为 19,表示此时允许的最大垃圾收集时间占总时间的 5%(即 1/(1+19) );默认值为 99 ,即允许最大 1%( 1/(1+99) )的垃圾收集时间。 ### 5.4 Serial Old 收集器 -从名字也可以看出来,它是 Serial 收集器的老年代版本,它同样是一个单线程收集器,采用 标记-整理算法,主要用于给客户端模式下的 HotSpot 虚拟机使用: +从名字也可以看出来,它是 Serial 收集器的老年代版本,同样是一个单线程收集器,采用 标记-整理 算法,主要用于给客户端模式下的 HotSpot 虚拟机使用: + +
+ + ### 5.5 Paralled Old 收集器 Paralled Old 是 Parallel Scavenge 收集器的老年代版本,支持多线程并发收集,采用 标记-整理 算法实现: +
+ + + ### 5.6 CMS 收集器 -CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器,基于 标记-清除 算法实现,整个过程分为以下四个阶段: +CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器,基于 标记-清除 算法实现,整个收集过程分为以下四个阶段: 1. **初始标记 (inital mark)**:标记 `GC Roots` 能直接关联到的对象,耗时短但需要暂停用户线程; 2. **并发标记 (concurrent mark)**:从 `GC Roots` 能直接关联到的对象开始遍历整个对象图,耗时长但不需要暂停用户线程; 3. **重新标记 (remark)**:采用增量更新算法,对并发标记阶段因为用户线程运行而产生变动的那部分对象进行重新标记,耗时比初始标记稍长且需要暂停用户线程; 4. **并发清除 (inital sweep)**:并发清除掉已经死亡的对象,耗时长但不需要暂停用户线程。 -其优点在于耗时长的 并发标记 和 并发清除阶段都不需要暂停用户线程,因此其停顿时间较短,其主要缺点如下: +
+ + + +其优点在于耗时长的 并发标记 和 并发清除 阶段都不需要暂停用户线程,因此其停顿时间较短,其主要缺点如下: + 由于涉及并发操作,因此对处理器资源比较敏感。 -+ 由于是基于 标记-清除 算法,因此会产生大量空间碎片。 ++ 由于是基于 标记-清除 算法实现的,因此会产生大量空间碎片。 + 无法处理浮动垃圾(Floating Garbage):由于并发清除时用户线程还是在继续,所以此时仍然会产生垃圾,这些垃圾就被称为浮动垃圾,只能等到下一次垃圾收集时再进行清理。 ### 5.7 Garbage First 收集器 -Garbage First(简称 G1)是一款面向服务端的垃圾收集器,也是 JDK 9 服务端模式下默认的垃圾收集器,它的诞生具有里程碑式的意义。G1 虽然也遵循分代收集理论,但不再以固定大小和固定数量来划分分代区域,而是把连续的 Java 堆划分为多个大小相等的独立区域(Region)。每一个 Region 都可以根据不同的需求来扮演新生代的 `Eden` 空间、`Survivor` 空间或者老年代空间,收集器会根据其扮演角色的不同而采用不同的收集策略。它的运行大致可以分为以下四个步骤: +Garbage First(简称 G1)是一款面向服务端的垃圾收集器,也是 JDK 9 服务端模式下默认的垃圾收集器,它的诞生具有里程碑式的意义。G1 虽然也遵循分代收集理论,但不再以固定大小和固定数量来划分分代区域,而是把连续的 Java 堆划分为多个大小相等的独立区域(Region)。每一个 Region 都可以根据不同的需求来扮演新生代的 `Eden` 空间、`Survivor` 空间或者老年代空间,收集器会根据其扮演角色的不同而采用不同的收集策略。 -1. **初始标记 (Inital Marking)**:标记 `GC Roots` 能直接关联到的对象,并且修改 TAMS(Top at Mark Start)指针的值,让下一阶段用户线程并发运行时,能够正确的在 Reigin 中分配新对象。G1 为 每一个 Reigin 都设计了两个名为 TAMS 的指针,新分配的对象必须位于这两个指针位置以上,位于这两个指针位置以上的对象默认被隐式标记为存活的,不纳入回收范围; -2. **并发标记 (Concurrent Marking)**:从 `GC Roots` 能直接关联到的对象开始遍历整个对象图。遍历完成后,还需要处理 SATB 记录中变动的对象。SATB(snapshot-at-the-beginning,开始阶段快照)能够有效的解决并发标记阶段因为用户线程运行而导致的对象变动,其效率比 CMS 重新标记阶段的增量更新算法效率更高; -3. **最终标记 (Final Marking)**:对用户线程做一个短暂的暂停,用于处理并发阶段结束后仍遗留下来的最后少量的 STAB 记录。虽然并发标记阶段会处理 SATB 记录,但由于处理时用户线程依然是运行中的,所以依然会有少量的遗留。 +
+ + + +上面还有一些 Region 使用 H 进行标注,它代表 Humongous,表示这些 Region 用于存储大对象(humongous object,H-obj),即大小大于等于 region 一半的对象。G1 收集器的运行大致可以分为以下四个步骤: + +1. **初始标记 (Inital Marking)**:标记 `GC Roots` 能直接关联到的对象,并且修改 TAMS(Top at Mark Start)指针的值,让下一阶段用户线程并发运行时,能够正确的在 Reigin 中分配新对象。G1 为每一个 Reigin 都设计了两个名为 TAMS 的指针,新分配的对象必须位于这两个指针位置以上,位于这两个指针位置以上的对象默认被隐式标记为存活的,不会纳入回收范围; +2. **并发标记 (Concurrent Marking)**:从 `GC Roots` 能直接关联到的对象开始遍历整个对象图。遍历完成后,还需要处理 SATB 记录中变动的对象。SATB(snapshot-at-the-beginning,开始阶段快照)能够有效的解决并发标记阶段因为用户线程运行而导致的对象变动,其效率比 CMS 重新标记阶段所使用的增量更新算法效率更高; +3. **最终标记 (Final Marking)**:对用户线程做一个短暂的暂停,用于处理并发阶段结束后仍遗留下来的少量的 STAB 记录。虽然并发标记阶段会处理 SATB 记录,但由于处理时用户线程依然是运行中的,因此依然会有少量的变动,所以需要最终标记来处理; 4. **筛选回收 (Live Data Counting and Evacuation)**:负责更新 Regin 统计数据,按照各个 Regin 的回收价值和成本进行排序,在根据用户期望的停顿时间进行来指定回收计划,可以选择任意多个 Regin 构成回收集。然后将回收集中 Regin 的存活对象复制到空的 Regin 中,再清理掉整个旧的 Regin 。此时因为涉及到存活对象的移动,所以需要暂停用户线程,并由多个收集线程并行执行。 +
+ + + ### 5.8 内存分配原则 #### 1. 对象优先在 Eden 分配 @@ -308,11 +406,11 @@ Garbage First(简称 G1)是一款面向服务端的垃圾收集器,也是 #### 2. 大对象直接进入老年代 -大对象就是指需要大量连续内存空间的 Java 对象,最典型的就是很长的字符串或者元素数量很多的数组,它们将直接进入老年代。主要是因为如果在新生代分配,因为其需要大量连续的内存空间,可能会导致提前触发垃圾回收;并且由于新生代的垃圾回收本身就很频繁,此时复制大对象也需要额外的性能开销。 +大对象就是指需要大量连续内存空间的 Java 对象,最典型的就是超长的字符串或者元素数量很多的数组,它们将直接进入老年代。主要是因为如果在新生代分配,因为其需要大量连续的内存空间,可能会导致提前触发垃圾回收;并且由于新生代的垃圾回收本身就很频繁,此时复制大对象也需要额外的性能开销。 #### 3. 长期存活的对象将进入老年代 -虚拟机会给每个对象在其对象头中定义一个年龄计数器,对象通常在 `Eden` 区中诞生,如果经历第一次 Minor GC 后其仍然存活,并且能够被 Survivor 容纳的话,该对象就会被移动到 Survivor 中,并将其年龄加 1。对象在 Survivor 中每经过一次 Minor GC,年龄就加 1,当年龄达到一定程度后(由 `-XX:MaxTenuringThreshold` 设置,默认值为 15)就会进入老年代中。 +虚拟机会给每个对象在其对象头中定义一个年龄计数器。对象通常在 `Eden` 区中诞生,如果经历第一次 Minor GC 后仍然存活,并且能够被 Survivor 容纳的话,该对象就会被移动到 Survivor 中,并将其年龄加 1。对象在 Survivor 中每经过一次 Minor GC,年龄就加 1,当年龄达到一定程度后(由 `-XX:MaxTenuringThreshold` 设置,默认值为 15)就会进入老年代中。 #### 4. 动态年龄判断 @@ -320,27 +418,31 @@ Garbage First(简称 G1)是一款面向服务端的垃圾收集器,也是 #### 5. 空间担保分配 -在发生 Minor GC 之前,虚拟机必须先检查老年代最大可用的连续空间是否大于新生代所有对象总空间,如果条件成立,那么这一次的 Minor GC 可以确认是安全的。如果不成立,虚拟机会查看 `-XX:HandlePromotionFailure` 的值是否允许担保失败,如果允许那么就会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于,将尝试着进行一次 Minor GC;如果小于或者 `-XX:HandlePromotionFailure` 的值设置不允许冒险,那么就要改为进行一次 Full GC 。 +在发生 Minor GC 之前,虚拟机必须先检查老年代最大可用的连续空间是否大于新生代所有对象的总空间,如果条件成立,那么这一次的 Minor GC 可以确认是安全的。如果不成立,虚拟机会查看 `-XX:HandlePromotionFailure` 的值是否允许担保失败,如果允许那么就会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于,将尝试着进行一次 Minor GC;如果小于或者 `-XX:HandlePromotionFailure` 的值设置不允许冒险,那么就要改为进行一次 Full GC 。 ## 六、虚拟机类加载机制 -Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化、最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称为虚拟机的类加载机制 +Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称为虚拟机的类加载机制。 ### 6.1 类加载时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载、验证、准备、卸载、解析、初始化、使用、卸载七个阶段,其中验证、准备、解析三个部分统称为连接: +
+ + + 《Java 虚拟机规范》严格规定了有且只有六种情况必须立即对类进行初始化: 1. 遇到 `new`、 `getstatic`、 `putstatic`、 `invokestatic` 这四条字节码指令,如果类型进行过初始化,则需要先触发其进行初始化,能够生成这四条指令码的典型 Java 代码场景有: + 使用 `new` 关键字实例化对象时; + 读取或设置一个类型的静态字段时(被 final 修饰,已在编译期把结果放入常量池的静态字段除外); + 调用一个类型的静态方法时。 -2. 使用 `java.lang.reflect` 包的方法进类型进行反射调用时,如果类型没有进行过初始化、则需要触发其初始化; +2. 使用 `java.lang.reflect` 包的方法对类型进行反射调用时,如果类型没有进行过初始化、则需要触发其初始化; 3. 当初始化类时,如发现其父类还没有进行过初始化、则需要触发其父类进行初始化; 4. 当虚拟机启动时,用户需要指定一个要执行的主类(包含 main() 方法的那个类),虚拟机会先初始化这个主类; 5. 当使用 JDK 7 新加入的动态语言支持时,如果一个 `java.lang.invoke.MethodHandle` 实例最后解析的结果为 `REF_getStatic` , `REF_putStatic` , `REF_invokeStatic` , `REF_newInvokeSpecial` 四种类型的方法句柄,并且这个方法句柄对应的类没有进行过初始化,则需要先触发其初始化; -6. 当一个接口中定义了 JDK 8 新加入的默认方法(被 default 关键字修饰的接口方法)时,如果有这个接口的实现类发生了初始化,那该接口要在其之前被初始化。 +6. 当一个接口中定义了 JDK 8 新加入的默认方法(被 default 关键字修饰的接口方法)时,如果有这个接口的实现类发生了初始化,那么该接口要在其之前被初始化。 ### 6.2 类加载过程 @@ -361,7 +463,7 @@ Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数 + **文件格式验证**:验证字节流是否符合 Class 文件格式的规范; + **元数据验证**:对字节码描述的信息进行语义分析,以保证其描述的信息符合《Java 语言规范》的要求(如除了 `java.lang.Object` 外,所有的类都应该有父类); + **字节码验证**:通过数据流分析和控制流分析,确定程序语义是合法的,符合逻辑的(如允许把子类对象赋值给父类数据类型,但不能把父类对象赋值给子类数据类型); -+ **符号引用验证**:验证类是否缺少或者被禁止访问它依赖的某些外部类、方法、字段等资源。如果无法验证通过,则会抛出一个`java.lang.IncompatibleClassChangeError` 的子类异常,如 `java.lang.NoSuchFieldError` 、 `java.lang.NoSuchMethodError` 等异常。 ++ **符号引用验证**:验证类是否缺少或者被禁止访问它依赖的某些外部类、方法、字段等资源。如果无法验证通过,则会抛出一个`java.lang.IncompatibleClassChangeError` 的子类异常,如 `java.lang.NoSuchFieldError` 、 `java.lang.NoSuchMethodError` 等。 #### 3. 准备 @@ -372,7 +474,7 @@ Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数 解析是 Java 虚拟机将常量池内的符号引用替换为直接引用的过程: + **符号引用**:符号引用用一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能无歧义地定位到目标即可。 -+ **直接引用**:直接引用时可以直接指向目标的指针、相对偏移量或者一个能间接定位到目标的句柄。 ++ **直接引用**:直接引用是指可以直接指向目标的指针、相对偏移量或者一个能间接定位到目标的句柄。 整个解析动作主要针对类或接口、字段、类方法、接口方法、方法类型、方法句柄和调用点限定符这 7 类符号引用进行解析。 @@ -380,9 +482,9 @@ Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数 初始化阶段就是执行类构造器的 `()` 方法的过程,该方法具有以下特点: -+ `()` 方法由编译器自动收集类中的所有类变量的赋值动作和静态语句块中的语句合并产生,编译器收集顺序由语句在源文件中出现的顺序决定。 ++ `()` 方法由编译器自动收集类中所有类变量的赋值动作和静态语句块中的语句合并产生,编译器收集顺序由语句在源文件中出现的顺序决定。 + `()` 方法与类的构造器函数(即在虚拟机视角中的实例构造器 `()`方法)不同,它不需要显示的调用父类的构造器,Java 虚拟机会保证在子类的 `()` 方法执行前,父类的 `()` 方法已经执行完毕。 -+ 由于父类的 `()` 方法先执行,也就意味着父类中定义的静态语句块要优先于子类的变量赋值操作。 ++ 由于父类的 `()` 方法先执行,也就意味着父类中定义的静态语句块要优先于子类变量的赋值操作。 + `()` 方法对于类或者接口不是必须的,如果一个类中没有静态语句块,也没有对变量进行赋值操作,那么编译器可以不为这个类生成 `()` 方法。 + 接口中不能使用静态语句块,但仍然有变量初始化的赋值操作,因此接口与类一样都会生成 `()` 方法。 + Java 虚拟机必须保证一个类的 `()` 方法在多线程环境中被正确的加锁同步,如果多个线程同时去初始化一个类,那么只会有其中一个线程去执行这个类的 `()` 方法,其他线程都需要阻塞等待。 @@ -395,32 +497,36 @@ Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数 从 Java 虚拟机角度而言,类加载器可以分为以下两类: -+ 启动类加载器:启动类加载器(Bootstrap ClassLoader)由 C++ 语言实现(以 HotSpot 为例),它是虚拟机自身的一部分; -+ 其他所有类的类加载器:由 Java 语言实现,独立存在于虚拟机外部,并且全部继承自 `java.lang.ClassLoader` 。 ++ **启动类加载器**:启动类加载器(Bootstrap ClassLoader)由 C++ 语言实现(以 HotSpot 为例),它是虚拟机自身的一部分; ++ **其他所有类的类加载器**:由 Java 语言实现,独立存在于虚拟机外部,并且全部继承自 `java.lang.ClassLoader` 。 从开发人员角度而言,类加载器可以分为以下三类: + **启动类加载器 (Boostrap Class Loader)**:负责把存放在 `\lib` 目录中,或被 `-Xbootclasspath` 参数所指定的路径中存放的能被 Java 虚拟机识别的类库加载到虚拟机的内存中; + **扩展类加载器 (Extension Class Loader)**:负责加载 `\lib\ext` 目录中,或被 `java.ext.dirs` 系统变量所指定的路径中的所有类库。 -+ **应用程序类加载器 (Application Class Loader)**:复制加载用户类路径(ClassPath)上所有的类库。 ++ **应用程序类加载器 (Application Class Loader)**:负责加载用户类路径(ClassPath)上的所有的类库。 -JDK 9 之前的 Java 应用都是由这三种类加载器互相配合来完成加载: +JDK 9 之前的 Java 应用都是由这三种类加载器相互配合来完成加载: -TODO 图 +
-上图所示的各种类加载器之间的层次关系被称为类加载器的 “双亲委派模型”,“双亲委派模型” 要求除了顶层的启动类加载器外,其余的类加载器都应该有自己的父类加载器,需要注意的是这里的加载器之间的父子关系一般不是以继承关系来实现的,通常是使用组合关系来复用父类加载器的代码。 -双亲委派模型的工作过程如下:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶层的启动类加载器,只有当父加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去完成加载。基于双亲委派模型可以保证程序中的类在各种类加载器环境中都是同一个类,否则就有可能出现一个程序当中有两个不同的 `java.lang.Object` 的情况。 + +上图所示的各种类加载器之间的层次关系被称为类加载器的 “双亲委派模型”,“双亲委派模型” 要求除了顶层的启动类加载器外,其余的类加载器都应该有自己的父类加载器,需要注意的是这里的加载器之间的父子关系一般不是以继承关系来实现的,而是使用组合关系来复用父类加载器的代码。 + +双亲委派模型的工作过程如下:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶层的启动类加载器,只有当父加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去完成加载。基于双亲委派模型可以保证程序中的类在各种类加载器环境中都是同一个类,否则就有可能出现一个程序中存在两个不同的 `java.lang.Object` 的情况。 ### 6.5 模块化下的类加载器 JDK 9 之后为了适应模块化的发展,类加载器做了如下变化: -+ 仍维持三层类加载器和双亲委派的架构,但扩展了加载器被平台类加载器所取代; ++ 仍维持三层类加载器和双亲委派的架构,但扩展类加载器被平台类加载器所取代; + 当平台及应用程序类加载器收到类加载请求时,要首先判断该类是否能够归属到某一个系统模块中,如果可以找到这样的归属关系,就要优先委派给负责那个模块的加载器完成加载; + 启动类加载器、平台类加载器、应用程序类加载器全部继承自 `java.internal.loader.BuiltinClassLoader` ,BuiltinClassLoader 中实现了新的模块化架构下类如何从模块中加载的逻辑,以及模块中资源可访问性的处理。 -TODO 图 +
+ + ## 七、程序编译 @@ -432,29 +538,29 @@ TODO 图 ### 7.2 解释器与编译器 -在 HotSpot 虚拟机中,Java 程序最初都是通过解释器(Interpreter)进行解释执行的,其优点在于可以省去编译时间,让程序快速启动。当程序启动后,如果虚拟机发现某个方法或代码块的运行特别频繁,就会使用编译器将其编译为本地机器码,并使用各种手段进行优化,从而提高执行效率,这就是即时编译器。 - -HotSpot 内置了两个(或三个)即时编译器: +在 HotSpot 虚拟机中,Java 程序最初都是通过解释器(Interpreter)进行解释执行的,其优点在于可以省去编译时间,让程序快速启动。当程序启动后,如果虚拟机发现某个方法或代码块的运行特别频繁,就会使用编译器将其编译为本地机器码,并使用各种手段进行优化,从而提高执行效率,这就是即时编译器。HotSpot 内置了两个(或三个)即时编译器: + **客户端编译器 (Client Complier)**:简称 C1; + **服务端编译器 (Servier Complier)**:简称 C2,在有的资料和 JDK 源码中也称为 Opto 编译器; + **Graal 编译器**:在 JDK 10 时才出现,长期目标是替代 C2。 -在分层编译的工作模式出现前,采用客户端编译器还是服务端编译器完全取决于虚拟机是运行在客户端模式还是服务端模式下,可以通过 `-client` 或 `-server` 参数进行指定,也可以让虚拟机根据自身版本和宿主机性能来自主选择。 +在分层编译的工作模式出现前,采用客户端编译器还是服务端编译器完全取决于虚拟机是运行在客户端模式还是服务端模式下,可以在启动时通过 `-client` 或 `-server` 参数进行指定,也可以让虚拟机根据自身版本和宿主机性能来自主选择。 ### 7.3 分层编译 -要编译出优化程度越高的代码通常都需要越长的编译时间,为了在程序启动相应速度与运行效率之间达到最佳平衡,HotSpot 虚拟机在编译子系统中加入了分层编译(Tiered Compilation): +要编译出优化程度越高的代码通常都需要越长的编译时间,为了在程序启动速度与运行效率之间达到最佳平衡,HotSpot 虚拟机在编译子系统中加入了分层编译(Tiered Compilation): + **第 0 层**:程序纯解释执行,并且解释器不开启性能监控功能; + **第 1 层**:使用客户端编译器将字节码编译为本地代码来运行,进行简单可靠的稳定优化,不开启性能监控功能; + **第 2 层**:仍然使用客户端编译执行,仅开启方法及回边次数统计等有限的性能监控; + **第 3 层**:仍然使用客户端编译执行,开启全部性能监控; -+ **第 4 层**:使用服务端编译器将字节码编译为本地代码,其耗时更长,并会根据性能监控信息进行一些不可靠的激进优化。 ++ **第 4 层**:使用服务端编译器将字节码编译为本地代码,其耗时更长,并且会根据性能监控信息进行一些不可靠的激进优化。 以上层次并不是固定不变的,根据不同的运行参数和版本,虚拟机可以调整分层的数量。各层次编译之间的交互转换关系如下图所示: -![分层编译的交互关系](../pictures/分层编译的交互关系.png) +
+ + 实施分层编译后,解释器、客户端编译器和服务端编译器就会同时工作,可以用客户端编译器获取更高的编译速度、用服务端编译器来获取更好的编译质量。 @@ -463,7 +569,7 @@ HotSpot 内置了两个(或三个)即时编译器: 即时编译器编译的目标是 “热点代码”,它主要分为以下两类: + 被多次调用的方法。 -+ 被多次执行循环体。这里指的是一个方法只被少量调用过,但方法体内部存在循环次数较多的循环体,此时也认为是热点代码。但编译器编译的是循环体所在的方法,而不会单独编译循环体。 ++ 被多次执行循环体。这里指的是一个方法只被少量调用过,但方法体内部存在循环次数较多的循环体,此时也认为是热点代码。但编译器编译的仍然是循环体所在的方法,而不会单独编译循环体。 判断某段代码是否是热点代码的行为称为 “热点探测” (Hot Spot Code Detection),主流的热点探测方法有以下两种: @@ -503,7 +609,7 @@ public static String concat(String... strings) { } ``` -如果能证明一个对象不会逃逸到方法或线程之外,或者逃逸程度比较低(只逃逸出方法而不会逃逸出线程),则可能为这个对象实例采取不同程序的优化: +如果能证明一个对象不会逃逸到方法或线程之外,或者逃逸程度比较低(只逃逸出方法而不会逃逸出线程),则可以为这个对象实例采取不同程序的优化: + **栈上分配 (Stack Allocations)**:如果一个对象不会逃逸到线程外,那么将会在栈上分配内存来创建这个对象,而不是 Java 堆上,此时对象所占用的内存空间就会随着栈帧的出栈而销毁,从而可以减轻垃圾回收的压力。 + **标量替换 (Scalar Replacement)**:如果一个数据已经无法再分解成为更小的数据类型,那么这些数据就称为标量(如 int、long 等数值类型及 reference 类型等);反之,如果一个数据可以继续分解,那它就被称为聚合量(如对象)。如果一个对象不会逃逸外方法外,那么就可以将其改为直接创建若干个被这个方法使用的成员变量来替代,从而减少内存占用。 @@ -515,13 +621,14 @@ public static String concat(String... strings) { ### 8.4 数组边界检查消除 -对于虚拟机执行子系统来说,每次数据元素的读写都带有一次隐含的上下文检查以避免访问越界。如果数组的访问发生在循环之中,并且使用循环变量来访问数据,即循环变量的取值永远在 [0,list.length) 之间,那么此时就可以消除整个循环的数据边界检查,从而避免多次无用的判断。 +对于虚拟机执行子系统来说,每次数组元素的读写都带有一次隐含的上下文检查以避免访问越界。如果数组的访问发生在循环之中,并且使用循环变量来访问数据,即循环变量的取值永远在 [0,list.length) 之间,那么此时就可以消除整个循环的数据边界检查,从而避免多次无用的判断。 ## 参考资料 -主要参考自:周志明 . 深入理解Java虚拟机(第3版). 机械工业出版社 , 2019-12 ,想要深入了解虚拟机的话,推荐阅读原书。 ++ 主要参考自:周志明 . 深入理解Java虚拟机(第3版). 机械工业出版社 , 2019-12 ,想要深入了解虚拟机的话,推荐阅读原书。 ++ [美团技术团队 —— Java Hotspot G1 GC的一些关键技术](https://tech.meituan.com/2016/09/23/g1.html) diff --git a/pictures/G1_内存布局.png b/pictures/G1_内存布局.png new file mode 100644 index 0000000000000000000000000000000000000000..f4050ff451175760e8479f9145cb83c2f66a199f GIT binary patch literal 20709 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%0DOuOovG*d$L$$m?5y_>U%Enpm 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


hcYo+b~=5;OI2a42%qx^*kp?Y>HXd`!&Q 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�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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_可达性分析.png b/pictures/jvm_可达性分析.png new file mode 100644 index 0000000000000000000000000000000000000000..45f37486a23ed90a71f3062b587b7b22b05e8443 GIT binary patch literal 22208 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 HQ$iB}=T3UA literal 0 HcmV?d00001 diff --git a/pictures/jvm_收集器2.png b/pictures/jvm_收集器2.png new file mode 100644 index 0000000000000000000000000000000000000000..ddbbfa506701c5d3960812ebdfd4c07da20208af GIT binary patch literal 25450 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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_收集器3.png b/pictures/jvm_收集器3.png new file mode 100644 index 0000000000000000000000000000000000000000..38314f158df2d1c5237878f45812c75f9e4443b6 GIT binary patch literal 20184 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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_收集器5.png b/pictures/jvm_收集器5.png new file mode 100644 index 0000000000000000000000000000000000000000..137c4c6f0dcb50ed9c77760cfc4c516cb433ab4e GIT binary patch literal 23205 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 RBSXfA`BMV-NxZ*4@h?^ar(*yB literal 0 HcmV?d00001 diff --git a/pictures/jvm_标记复制算法.png b/pictures/jvm_标记复制算法.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd2d26641f1ea07c56054bba14c74b8747db02c GIT binary patch literal 10169 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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_标记清除算法.png b/pictures/jvm_标记清除算法.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c0dacd410593648f7176c44a68bb2104f28b56 GIT binary patch literal 9065 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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_标记移动算法.png b/pictures/jvm_标记移动算法.png new file mode 100644 index 0000000000000000000000000000000000000000..4d18652afe45e17bcb55969f5b3250d4cfa79b80 GIT binary patch literal 9335 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 literal 0 HcmV?d00001 diff --git a/pictures/jvm_通过句柄访问对象.png b/pictures/jvm_通过句柄访问对象.png new file mode 100644 index 0000000000000000000000000000000000000000..12666c3096d963fb5a018e4e13d02e90ddae2c87 GIT binary patch literal 33612 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≫bn)|F|wiJv8a_<(7{hO((NfCzyHU#dlsbgZ6?r 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 literal 0 HcmV?d00001