當前位置:
首頁 > 科技 > 一文解釋清楚面試常客:final、finally、finalize

一文解釋清楚面試常客:final、finally、finalize

一文解釋清楚面試常客:final、finally、finalize

這篇速讀文章來自面試的常客final、finally、finalize。說實話不大很理解為啥很多面試官喜歡把這三者放在一起。這完全不相干啊!不過既來之則安之吧。今天讓我們聊一聊final、finally、finalize各自的場景。小A:MDove,我最近發現很多文章會把final、finally、finalize放在一起比較。恕我愚鈍,我實在不知道它們有什麼關係。

MDove:前面的文章,我們有提到其實這倆種寫法,對於編譯的class文件是等價的。MDove:關於final,還有個有趣的地方。在很多文章中,會提到在特定場景下final能夠提高性能。比如:利用final可能有助於JVM將方法進行內聯,可以改善編譯器進行條件編譯的能力等等。說實話這種假設完全沒有考慮的必要。MDove:接下來讓我們來聊一聊finally。

MDove:這裡提一點,try-finally也是可以的。不過這裡個人不建議省略掉catch。因為前一段時間我們就踩到了這個坑。我們項目里捕獲的異常,一般都會在catch里通過Error的CallBack傳出去,打Log。那次我們在追一個Bug的時候,發現竟然什麼Log都沒有。後來才發現,出Bug的地方,try異常後沒有做任何處理直接finally,導致沒有辦法看到Log日誌,浪費了很多時間。

這二者的寫法是等價的。當然這只是一種語法糖~MDove:當然有些喪心病狂的題目,會問你什麼情況下finally不執行。這種情況就不執行了:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 老馬看科技 的精彩文章:

劉強東發微博表達防衛事件,獲得網友熱評,微博轉發量破百萬!
空調多聯機安維保案例分析

TAG:老馬看科技 |