From 50e50dc445ff4ef9b1f5407da862a01f39c50d79 Mon Sep 17 00:00:00 2001 From: Omooo <869759698@qq.com> Date: Wed, 24 Jun 2020 16:59:00 +0800 Subject: [PATCH] Update JVM --- blogs/Java/口水话/JVM 相关口水话.md | 14 ++++++++++++-- images/JVM/解释执行和编译执行.png | Bin 0 -> 64180 bytes 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 images/JVM/解释执行和编译执行.png diff --git a/blogs/Java/口水话/JVM 相关口水话.md b/blogs/Java/口水话/JVM 相关口水话.md index e737116..91b8d09 100644 --- a/blogs/Java/口水话/JVM 相关口水话.md +++ b/blogs/Java/口水话/JVM 相关口水话.md @@ -150,9 +150,19 @@ ZGC 作为新一代的垃圾回收器,在设计之初就定义了三大目标 下面我就主要讲一下方法内联和逃逸分析。 -方法内联,它指的是在编译的过程中遇到方法调用时,将目标方法的方法体纳入编译范围之中,并取代原方法调用的优化手段。方法内联不仅可以消除调用本身带来的性能开销,还可以进一步触发更多的优化。因此,它可以算是编译优化里最为重要的一环。以 getter/setter 为例,如果没有方法内联,在调用 getter/setter 时,程序需要保存当前方法的执行位置,创建并压入用于 getter/setter 的栈桢、访问字段、弹出栈桢,最后再恢复当前方法的执行。而当内联了对 getter/setter 的方法调用后,上述操作就只剩下字段访问了。但是即时编译器不会无限制的进行方法内联,它会根据方法的调用次数、方法体大小、Code cache 的空间等去决定是否要进行内联。其次,对于需要动态绑定的虚方法调用来说,即时编译器则需要先对虚方法调用进行去虚化,即转化为一个或多个直接调用,然后才能进行方法内联。说到这,你应该就明白 final/static 的好处了。 +方法内联,它指的是在编译的过程中遇到方法调用时,将目标方法的方法体纳入编译范围之中,并取代原方法调用的优化手段。方法内联不仅可以消除调用本身带来的性能开销,还可以进一步触发更多的优化。因此,它可以算是编译优化里最为重要的一环。以 getter/setter 为例,如果没有方法内联,在调用 getter/setter 时,程序需要保存当前方法的执行位置,创建并压入用于 getter/setter 的栈桢、访问字段、弹出栈桢,最后再恢复当前方法的执行。而当内联了对 getter/setter 的方法调用后,上述操作就只剩下字段访问了。但是即时编译器不会无限制的进行方法内联,它会根据方法的调用次数、方法体大小、Code cache 的空间等去决定是否要进行内联。比如即使是热点代码,如果方法体太大,也不会进行内联,因为会占用更多内存空间。所以平时编码中,尽可能使用小方法体。对于需要动态绑定的虚方法调用来说,即时编译器则需要先对虚方法调用进行去虚化,即转化为一个或多个直接调用,然后才能进行方法内联。说到这,你应该就明白 final/static 的好处了。所以尽量使用 final、private、static 关键字修饰方法,虚方法因为继承,会需要额外的类型检查才能知道实际上调用的是哪个方法。 -逃逸分析是一种确定指针动态范围的静态分析,即时编译器可以根据逃逸分析的结果进行诸如锁消除、栈上分配以及标量替换的优化。我们先看一下锁消除,如果即时编译器能够证明锁对象不逃逸,那么对该锁对象的加锁、解锁操作没有任何意义,因为其他线程并不能获得该锁对象,在这种情况下,即时编译器就可以消除对该不逃逸对象的加锁、解锁操作。比如 synchronized(new Object) 这种操作会被完全优化掉。不过一般不会有人这么写,事实上,逃逸分析的结果更多被用于将新建对象操作转换成栈上分配或者标量替换。我们知道,Java 虚拟机中对象都是在堆上进行分配的,而堆上的内容对任何线程可见,与此同时,JVM 需要对所分配的堆内存进行管理,并且在对象不再被引用时回收其所占据的内存。如果逃逸分析能够证明某些新建的对象不逃逸,那么 JVM 完全可以将其分配至栈上,并且在方法退出时,通过弹出当前方法的栈桢来自动回收所分配的内存空间。不过,由于实现起来需要更改大量假设了 “对象只能堆分配” 的代码,因此 HotSpot 虚拟机并没有采用栈上分配,而是使用了标量替换这么一项技术。所谓的标量,就是仅能存储一个值的变量,如果 Java 代码中的局部变量。标量替换这项优化技术,可以看成将原本对对象的字段的访问,替换成一个个的局部变量的访问。 +逃逸分析是判断一个对象是否被外部方法引用或外部线程访问的分析技术,即时编译器可以根据逃逸分析的结果进行诸如锁消除、栈上分配以及标量替换的优化。我们先看一下锁消除,如果即时编译器能够证明锁对象不逃逸,那么对该锁对象的加锁、解锁操作没有任何意义,因为其他线程并不能获得该锁对象,在这种情况下,即时编译器就可以消除对该不逃逸对象的加锁、解锁操作。比如 synchronized(new Object) 这种操作会被完全优化掉。不过一般不会有人这么写,事实上,逃逸分析的结果更多被用于将新建对象操作转换成栈上分配或者标量替换。我们知道,Java 虚拟机中对象都是在堆上进行分配的,而堆上的内容对任何线程可见,与此同时,JVM 需要对所分配的堆内存进行管理,并且在对象不再被引用时回收其所占据的内存。如果逃逸分析能够证明某些新建的对象不逃逸,那么 JVM 完全可以将其分配至栈上,并且在方法退出时,通过弹出当前方法的栈桢来自动回收所分配的内存空间。不过,由于实现起来需要更改大量假设了 “对象只能堆分配” 的代码,因此 HotSpot 虚拟机并没有采用栈上分配,而是使用了标量替换这么一项技术。所谓的标量,就是仅能存储一个值的变量,如果 Java 代码中的局部变量。标量替换这项优化技术,可以看成将原本对对象的字段的访问,替换成一个个的局部变量的访问。 #### 虚拟机相关 +先说 HotSpot 虚拟机。 + +从硬件视角来看呢,Java 字节码是无法直接运行的,因此 JVM 需要将字节码翻译成机器码。在 HotSpot 里面,翻译过程有两种,一种是解释执行,即逐条将字节码翻译成机器码并执行,第二种是即时编译执行,即以方法为单位整体编译为机器码后再执行。前者的优势在于无需等待编译,而后者的优势在于实际运行速度更快。HotSpot 默认采用混合模式,综合了解释执行和编译执行两者的优点。它会先解释执行字节码,而后将其中反复执行的热点代码,以方法为单位进行编译执行。 + +HotSpot 内置了多个 JIT 即时编译器,C1 和 C2,之所以引入多个即时编译器,是为了在编译时间和生成代码的执行效率之间进行取舍。Java 7 引入了分层编译,分层编译将 JVM 的执行状态分为 5 个层次。第 0 层是解释执行,默认开启性能监控;第 1 层到第 3 层都是称为 C1 编译,将字节码编译成本地代码,进行简单、可靠的优化;第 4 层是 C2 编译,也是将字节码编译成本地代码,但是会启用一些编译耗时较长的优化,甚至会根据性能监控信息进行一些不可靠的激进优化。 + +至此,HotSpot 及 JIT 就讲完了。 + + + diff --git a/images/JVM/解释执行和编译执行.png b/images/JVM/解释执行和编译执行.png new file mode 100644 index 0000000000000000000000000000000000000000..5ec9f51619fe38d1d8561190d7d9da19777f52e7 GIT binary patch literal 64180 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