From fc97755cac62e8b12c3f0b0c45b06418947fa4b7 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 4 Aug 2018 18:32:17 +0800 Subject: [PATCH] auto commit --- notes/Java 虚拟机.md | 38 +++++++++--------- pics/926c7438-c5e1-4b94-840a-dcb24ff1dafe.png | Bin 0 -> 19456 bytes pics/c9ad2bf4-5580-4018-bce4-1b9a71804d9c.png | Bin 0 -> 30720 bytes 3 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 pics/926c7438-c5e1-4b94-840a-dcb24ff1dafe.png create mode 100644 pics/c9ad2bf4-5580-4018-bce4-1b9a71804d9c.png diff --git a/notes/Java 虚拟机.md b/notes/Java 虚拟机.md index 69952f2e..4382317b 100644 --- a/notes/Java 虚拟机.md +++ b/notes/Java 虚拟机.md @@ -1,7 +1,7 @@ * [一、运行时数据区域](#一运行时数据区域) * [程序计数器](#程序计数器) - * [虚拟机栈](#虚拟机栈) + * [Java 虚拟机栈](#java-虚拟机栈) * [本地方法栈](#本地方法栈) * [堆](#堆) * [方法区](#方法区) @@ -23,19 +23,19 @@ # 一、运行时数据区域 -

+

## 程序计数器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)。 -## 虚拟机栈 +## Java 虚拟机栈 -每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。 +每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息,从调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。 -

+

-可以通过 -Xss 这个虚拟机参数来指定一个程序的 Java 虚拟机栈内存大小: +可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小: ```java java -Xss=512M HackTheJava @@ -56,27 +56,22 @@ java -Xss=512M HackTheJava ## 堆 -所有对象实例都在这里分配内存。 +所有对象实例都在这里分配内存,是垃圾收集的主要区域("GC 堆")。 -是垃圾收集的主要区域("GC 堆")。现代的垃圾收集器基本都是采用分代收集算法,主要思想是针对不同的对象采取不同的垃圾回收算法。虚拟机把 Java 堆分成以下三块: +现代的垃圾收集器基本都是采用分代收集算法,针对不同的对象采取不同的垃圾回收算法,可以将堆分成两块: - 新生代(Young Generation) - 老年代(Old Generation) -- 永久代(Permanent Generation) -当一个对象被创建时,它首先进入新生代,之后有可能被转移到老年代中。 - -新生代存放着大量的生命很短的对象,因此新生代在三个区域中垃圾回收的频率最高。为了更高效地进行垃圾回收,把新生代继续划分成以下三个空间: +新生代可以继续划分成以下三个空间: - Eden(伊甸园) - From Survivor(幸存者) - To Survivor -

+堆不需要连续内存,并且可以动态增加其内存,增加失败会抛出 OutOfMemoryError 异常。 -Java 堆不需要连续内存,并且可以动态增加其内存,增加失败会抛出 OutOfMemoryError 异常。 - -可以通过 -Xms 和 -Xmx 两个虚拟机参数来指定一个程序的 Java 堆内存大小,第一个参数设置初始值,第二个参数设置最大值。 +可以通过 -Xms 和 -Xmx 两个虚拟机参数来指定一个程序的堆内存大小,第一个参数设置初始值,第二个参数设置最大值。 ```java java -Xms=1M -Xmx=2M HackTheJava @@ -86,11 +81,13 @@ java -Xms=1M -Xmx=2M HackTheJava 用于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 -和 Java 堆一样不需要连续的内存,并且可以动态扩展,动态扩展失败一样会抛出 OutOfMemoryError 异常。 +和堆一样不需要连续的内存,并且可以动态扩展。 + +动态扩展失败一样会抛出 OutOfMemoryError 异常。 对这块区域进行垃圾回收的主要目标是对常量池的回收和对类的卸载,但是一般比较难实现。 -JDK 1.7 之前,HotSpot 虚拟机把它当成永久代来进行垃圾回收,JDK 1.8 之后,取消了永久代,用 metaspace(元数据)区替代。 +JDK 1.7 之前,HotSpot 虚拟机把它当成永久代来进行垃圾回收。但是从 JDK 1.7 开始,已经把原本放在永久代的字符串常量池移到 Native Method 中。 ## 运行时常量池 @@ -102,7 +99,9 @@ Class 文件中的常量池(编译器生成的各种字面量和符号引用 ## 直接内存 -在 JDK 1.4 中新加入了 NIO 类,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆里的 DirectByteBuffer 对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了在 Java 堆和 Native 堆中来回复制数据。 +在 JDK 1.4 中新加入了 NIO 类,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆里的 DirectByteBuffer 对象作为这块内存的引用进行操作。 + +这样能在一些场景中显著提高性能,因为避免了在 Java 堆和 Native 堆中来回复制数据。 # 二、垃圾收集 @@ -751,6 +750,7 @@ public class FileSystemClassLoader extends ClassLoader { # 参考资料 - 周志明. 深入理解 Java 虚拟机 [M]. 机械工业出版社, 2011. +- [Chapter 2. The Structure of the Java Virtual Machine](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5.4) - [Jvm memory](https://www.slideshare.net/benewu/jvm-memory) - [Memory Architecture Of JVM(Runtime Data Areas)](https://hackthejava.wordpress.com/2015/01/09/memory-architecture-by-jvmruntime-data-areas/) - [JVM Run-Time Data Areas](https://www.programcreek.com/2013/04/jvm-run-time-data-areas/) diff --git a/pics/926c7438-c5e1-4b94-840a-dcb24ff1dafe.png b/pics/926c7438-c5e1-4b94-840a-dcb24ff1dafe.png new file mode 100644 index 0000000000000000000000000000000000000000..c6cdfd77d1e0d23e71e918e52320e4f7ec87e5c2 GIT binary patch literal 19456 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 V_~P~dod5qh|NnFT|9?FH{{a*g7ghiO literal 0 HcmV?d00001