union all会影响性能吗_Java 中的 try catch 影响性能吗?
前幾天在 code review 時(shí)發(fā)現(xiàn)有一段代碼中存在濫用try catch的現(xiàn)象。其實(shí)這種行為我們也許都經(jīng)歷過(guò),剛參加工作想盡量避免出現(xiàn)崩潰問(wèn)題,因此在很多地方都想著 try catch一下。
但實(shí)際上這種習(xí)慣不僅會(huì)讓代碼很難看,更會(huì)影響代碼的運(yùn)行性能。有些人會(huì)覺(jué)得,不就是一個(gè) try catch 么,怎么會(huì)影響性能啊。那就讓我們來(lái)測(cè)試看看吧。
實(shí)驗(yàn)
首先,我們看看沒(méi)有try-catch情況下,進(jìn)行100萬(wàn)次加法的耗時(shí):
經(jīng)過(guò)5次統(tǒng)計(jì),其平均耗時(shí)為:1816048納秒,即1.8毫秒。
接著,我們來(lái)看看在有try-catch情況下,進(jìn)行100萬(wàn)次加法的耗時(shí):
經(jīng)過(guò)5次統(tǒng)計(jì),其平均耗時(shí)為:1928394納秒,即1.9毫秒。
我們?cè)賮?lái)看看,如果try-catch拋出異常,進(jìn)行100萬(wàn)次加法的耗時(shí):
經(jīng)過(guò)5次統(tǒng)計(jì),其平均耗時(shí)為:780950471納秒,即780毫秒。
經(jīng)過(guò)上面三次統(tǒng)計(jì),我們可以看到在沒(méi)有try catch時(shí),耗時(shí)1.8毫秒。在有try catch 但是沒(méi)有拋出異常,耗時(shí)1.9毫秒。在有拋出異常,耗時(shí)780毫秒。我們能得出一個(gè)結(jié)論:如果try catch沒(méi)有拋出異常,那么其對(duì)性能幾乎沒(méi)有影響。但如果拋出異常,那對(duì)程序?qū)⒃斐蓭装俦兜男阅苡绊憽?/strong>
結(jié)論
雖然在沒(méi)有拋出異常時(shí),try catch幾乎沒(méi)有性能影響。但是一旦拋出異常,那么其對(duì)性能的影響將是巨大的。因此我們?cè)趯?shí)際編程的時(shí)候,需要特別注意try catch語(yǔ)句的使用,不在沒(méi)有必要的地方過(guò)多使用。
總結(jié)
以上是生活随笔為你收集整理的union all会影响性能吗_Java 中的 try catch 影响性能吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java split 逗号_java截取
- 下一篇: java找出两个字符串中所有共同的子串_