性能调优专题-基础-1、JVM-异常处理
1. 异常表
1.1. 异常
关键字和接口-7、Throwable1.2. 生成逻辑

没有 try-catch 或者 try-finally 的情况下,是不会生成异常表结构的,比如下面 2 种情况: ❕
异常类也是需要 GC 的
性能调优专题-基础-4、JVM-堆和GC理论1.3. 生成位置
在方法区中的方法信息中存放
❕
1.4. 异常处理
- 当一个异常被抛出时,JVM 会在 [当前的方法里的异常表中] 寻找一个匹配的处理,如果没有找到,这个方法会强制结束并弹出当前栈帧,并且异常会重新拋给上层调用的方法(在调用方法栈帧)。如果在所有栈帧弹出前仍然没有找到合适的异常处理,这个线程将终止。如果这个异常在最后一个非守护线程里抛出,将会导致 JVM 自己终止,比如这个线程是个 main 线程。
- 不管什么时候抛出异常,如果异常处理最终匹配了所有异常类型,代码就会继续执行。在这种情况下,如果方法结束后没有抛出异常,仍然执行 finally 块, 在 return 前, 它直接跳到 finally 块来完成目标
2. 实战经验
3. 参考与感谢
3.1. 尚硅谷宋红康
对象创建-7、JVM-堆3.2. 测试代码
[[ExceptionTest.java]]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Taylor!
评论


