码迷,mamicode.com
首页 > 其他好文 > 详细

慎用异常(Exception)

时间:2015-06-05 15:58:31      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

异常对性能不利。

1.抛出异常首先要创建一个新的对象。

2.Throwable接口的构造函数调用名为fillInStackTrace()的Native方法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。只要有异常被抛出,VM就必须调整调用堆栈,因为在处理过 程中创建了一个新的对象。

因此,异常只能用于错误处理,不应该用来控制程序流程。

如果频度很高的抛出异常,性能下降是很巨大的,参见stackoverflow上的一篇文章

http://stackoverflow.com/questions/299068/how-slow-are-java-exceptions

http://java-performance.info/throwing-an-exception-in-java-is-very-slow/

慎用异常(Exception)

标签:

原文地址:http://my.oschina.net/aruan/blog/425288

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!