从JVM异常表和字节码角度分析try-catch-finally为什么效率低
Posted 业余草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从JVM异常表和字节码角度分析try-catch-finally为什么效率低相关的知识,希望对你有一定的参考价值。
你知道的越多,不知道的就越多,业余的像一棵小草!
你来,我们一起精进!你不来,我和你的竞争对手一起精进!
编辑:业余草
推荐:https://www.xttblog.com/?p=5261
有经验的 Java 老司机可能告诉过你,Java 中的 try-catch-finally
代码块范围不要包的太大,因为它可能会影响 Java 程序的运行效率。
你可能会百思不得其解其中是什么缘由?甚至是不少“老程序员”也搞不懂其中的机制!刚好最近我在 codereview 时,要求同事缩小 try-catch-finally
代码块的范围,并从字节码的角度给他们讲了异常表以及 JVM 的处理机制。
本文将我在公司内部的讲解整理成文稿,分享给大家!
希望在这之后,不会有人再将下面这张表情包发给你……
环境介绍
-
本文内容基于 jdk 1.8.0_127
-
IntelliJ IDEA 2018 以及 jclasslib 字节码插件
字节码中的 try-catch
Talk is cheap, show you my code!
反编译后的字节码
以上是关于从JVM异常表和字节码角度分析try-catch-finally为什么效率低的主要内容,如果未能解决你的问题,请参考以下文章
jvm原理(30)通过字节码分析this关键字以及异常表的重要作用&通过字节码分析Java异常处理机制
支付宝二面:使用 try-catch 捕获异常会影响性能吗?