Aeq*_*tas 5 java performance exception
看到这个问题,每个人都谈论"性能"会如何受到影响,或者当性能成为问题时应该避免例外,等等.
但是我没有看到一个很好的解释,为什么抛出异常对性能不利,这个问题中的每个人似乎都认为这是理所当然的.
我问这个的原因是,我正在尝试优化一个应用程序,并注意到在某些操作上抛出并吞下了几百个异常,例如单击按钮来加载新页面.
首先,当然,它只是糟糕的设计,因为"异常"具有语义含义("某些情况阻止了这种方法履行其合同"),并且这是以一种令人惊讶的方式滥用该特征.
对于Java,创建异常对象(特别是填充堆栈跟踪)非常昂贵,因为它涉及遍历堆栈,大量对象分配和字符串操作等等.实际上抛出异常并不是主要的性能损失.