Java面试问题之四

谈谈Java异常处理机制对程序性能的影响。

一般来说,在Java程序中使用try...catch语句不会对程序的性能造成非常大的影响。仅仅当异常发生时,Java虚拟机需要执行额外的操作来定位处理异常的代码块,这时才会对程序性能造成负面的影响。如果抛出异常的代码块和捕获异常的代码块位于同一个方法中,对性能的影响就会相对比较小一些;如果Java虚拟机必须搜索方法调用栈来寻找异常处理的代码块,此时对程序的性能影响就比较大了。尤其是当异常处理代码块位于调用栈的底部时,Java虚拟机定位异常处理代码块就需要大量的工作。

因此,我们必须杜绝使用异常处理机制来控制程序的正常流程,而应该保证仅仅在程序可能出现异常的地方使用try...catch语句。此外,我们在编写代码的时候需要认真考虑异常处理代码块所处的层次,如果当前的方法有能力处理这个异常,则尽量在方法内部给出异常处理的代码块,不要把本应该可以处理的异常抛出给调用者来处理,以保证异常处理对程序性能的影响降到最低程度。这也是编写高质量代码的良好习惯。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值