不懂JVM,怎么当架构师,一文带你了解JVM(6)
发布时间:2020-01-10 18:47 所属栏目:118 来源:站长网
导读:常量池中包含了下面的这些类型: 异常表 异常表存储了每个异常处理器的信息: 起始点 终止点 处理代码的PC偏移量 被捕获的异常类的常量池索引 如果一个方法定义了try-catch或try-finally异常处理器,那么一个异常表
常量池中包含了下面的这些类型: 异常表 异常表存储了每个异常处理器的信息: 起始点 终止点 处理代码的PC偏移量 被捕获的异常类的常量池索引 如果一个方法定义了try-catch或try-finally异常处理器,那么一个异常表将会被创建。它包含了每个异常处理器的信息或者finally块以及正在被处理的异常类型跟处理器代码的位置。 当一个异常被抛出,JVM会为当前方法寻找一个匹配的处理器。如果没有找到,那么该方法最终会唐突地出栈当前stackframe而异常会被重新抛出到调用链(新的frame)。如果在所有的frame都出栈之前还是没有找到异常处理器,那么当前线程将会被终止。当然这也可能会导致JVM被终止,如果异常被抛出到最后一个非后台线程的话,比如该线程就是主线程。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读