慎用异常(Exception)

自闭症网瘾萝莉.ら 提交于 2020-03-18 18:39:39

3 月,跳不动了?>>>

异常对性能不利。

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/

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!