JVM
西街恶人
Java Flex Linux Android
展开
-
使用异常捕获的代码为什么比较耗费性能?
因为构造异常的实例比较耗性能。这从代码层面很难理解,不过站在JVM的角度来看就简单了,因为JVM在构造异常实例时需要生成该异常的栈轨迹。这个操作会逐一访问当前线程的栈帧,并且记录下各种调试信息,包括栈帧所指向方法的名字,方法所在的类名、文件名,以及在代码中的第几行触发该异常等信息。 当你new一个exception的时候,jvm已经在exception里构建好了所有的...原创 2019-08-05 23:52:55 · 670 阅读 · 0 评论 -
Finally是为什么都能被执行?
这个事情是由编译器来实现的,现在的做法是这样的,编译器在编译Java代码时,会复制finally代码块的内容,然后分别放在try-catch代码块所有的正常执行路径及异常执行路径的出口中。 ...原创 2019-08-06 00:00:33 · 390 阅读 · 0 评论