博客
关于我
Java 中的 try catch 影响性能吗?
阅读量:416 次
发布时间:2019-03-06

本文共 1199 字,大约阅读时间需要 3 分钟。

前几日在一次代码审查中发现了一段代码中存在过度使用try-catch的情况。这种现象或许我们都经历过,初入职场时为了避免程序崩溃,会不自觉地在很多地方加try-catch。然而,这种做法不仅让代码变得难以阅读,还对程序性能产生了负面影响。有人可能会觉得,try-catch看起来不过是一种异常处理机制,何必担心它对性能有什么影响呢?于是我们来做了一些实验来测试一下。

在未使用try-catch的情况下,执行100万次加法的耗时是多少呢?我们可以通过以下代码来测试:

long start = System.nanoTime();int a = 0;for (int i = 0; i < 1000000; i++) {    a++;}System.out.println(System.nanoTime() - start);

经过5次测试,平均耗时约为1816048纳秒,即1.8毫秒。

接下来,我们来看在使用了try-catch但没有抛出异常的情况下,执行100万次加法的耗时是多少:

long start = System.nanoTime();int a = 0;for (int i = 0; i < 1000000; i++) {    try {        a++;    } catch (Exception e) {        e.printStackTrace();    }}System.out.println(System.nanoTime() - start);

同样进行了5次测试,平均耗时约为1928394纳秒,即1.9毫秒。

再来看如果在try-catch中抛出了异常,执行100万次加法的耗时是多少:

long start = System.nanoTime();int a = 0;for (int i = 0; i < 1000000; i++) {    try {        a++;        throw new Exception();    } catch (Exception e) {        e.printStackTrace();    }}System.out.println(System.nanoTime() - start);

经过5次测试,平均耗时约为780950471纳秒,即780毫秒。

通过这三次测试,我们可以得出一个结论:在没有抛出异常的情况下,使用try-catch对程序的性能影响几乎可以忽略不计。然而,一旦在try-catch中抛出了异常,那对程序的性能影响就会变得非常明显,甚至会导致性能损失数百倍。

因此,在实际编程中,我们需要特别注意try-catch语句的使用,尽量避免在不必要的地方过度使用。只有在确实需要处理异常时,才应该使用try-catch,以确保代码的健壮性和性能的优化。

转载地址:http://tnakz.baihongyu.com/

你可能感兴趣的文章
Postman还能做Mock?又学了一招!
查看>>
postman进行http接口测试
查看>>
Postman高阶技能:Collection集合批量运行!
查看>>
postMessage跨标签页共享数据
查看>>
QImage对一般图像的处理
查看>>
post为什么会发送两次请求?
查看>>
Post表单提交TextArea的值出现转译乱码问题 - Spring MVC处理表单提交
查看>>
Power BI 中的 Python 可视化需要什么设置?任何特定的 matplotlib 包版本或系统设置?
查看>>
Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
查看>>
power english (3) main text -emotion mastery - focus
查看>>
POWER ENGLISH (6) - MODEL
查看>>
power english (1) —— passion
查看>>
Power English (1) 原文
查看>>
power English (3)原文
查看>>
POWER ENGLISH(7)- repetition
查看>>
SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
查看>>
powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
查看>>
QGIS怎样设置简体中文以及新建可编辑的多边形的图层
查看>>
PowerBuilder 使用自定义事件触发键盘Enter事件
查看>>
PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
查看>>