徹底區分final.finalize,finally
在java中,final可以用來修飾類,方法和變數(成員變數或區域性變數)
final修飾類
表明該類不能被其他類所繼承。
final類中所有的成員方法都會隱式的定義為final方法。
final修飾方法
相當於把方法鎖定,此方法不能被重寫。以防止繼承類對其進行更改。
注意:若父類中final方法的訪問許可權為private,將導致子類中不能直接繼承該方法,因此,此時可以在子類中定義相同方法名的函式,此時不會與重寫final的矛盾,而是在子類中重新地定義了新方法。
final修飾變數
final修飾一個成員變數,只能被賦值一次,賦值後其值不再改變。必須要顯示初始化。
這裡有兩種初始化方式,一種是在變數宣告的時候初始化;第二種方法是在宣告變數的時候不賦初值,但是要在這個變數所在的類的所有的建構函式中對這個變數賦初值。
finally
finally作為異常處理的一部分,它只能用在try/catch語句中,並且附帶一個語句塊,表示這段語句最終一定會被執行(不管有沒有丟擲異常),經常被用在需要釋放資源的情況下。
但是,在某些情況下,finally語句也不一定執行
例如:
1:finally對應的try語句塊沒有執行的情況下,finally語句塊也不會執行
2:finally對應的try語句塊執行,但是我們在 try 語句塊中執行了 System.exit (0) 語句,終止了 Java 虛擬機器的執行。finally語句塊也不會執行
3:當一個執行緒在執行 try 語句塊或者 catch 語句塊時被打斷(interrupted)或者被終止(killed),與其相對應的 finally 語句塊可能不會執行。
finalize
finalize()是在java.lang.Object裡定義的,也就是說每一個物件都有這麼個方法。
這個方法在gc啟動,該物件被回收的時候被呼叫。所以一般是不需要程式設計師去實現finalize的。
特殊情況下,需要程式設計師實現finalize,當物件被回收的時候釋放一些資源,比如:一個socket連結,在物件初始化時建立,整個生命週期內有效,那麼就需要實現finalize,關閉這個連結。
使用finalize還需要注意一個事,呼叫super.finalize();
一個物件的finalize()方法只會被呼叫一次
相關文章
- 徹底明白ip地址,區分localhost、127.0.0.1和0.0.0.0localhost127.0.0.1
- 30分鐘徹底弄懂flex佈局Flex
- 5分鐘徹底理解Object.keysObject
- ChatGPT,我徹徹底底淪陷了!ChatGPT
- 5分鐘,徹底精通Oracle DG切換Oracle
- 徹底搞懂徹底搞懂事件驅動模型 - Reactor事件模型React
- 徹底理解synchronizedsynchronized
- 徹底理解ReentrantLockReentrantLock
- 徹底理解volatile
- 10分鐘徹底搞懂前端頁面效能監控前端
- SimpleTouch:一個庫徹底搞懂事件分發流程事件
- final,finally,finallize的區別
- 徹底理解斜槓和反斜槓的區別
- Redis-技術專區-幫從底層徹底吃透RDB技術原理Redis
- Redis-技術專區-幫從底層徹底吃透AOF技術原理Redis
- 徹底搞清MySQL分庫分表(垂直分庫,垂直分表,水平分庫,水平分表)MySql
- 徹底看懂 PBR/BRDF
- 徹底禁用Windows更新Windows
- 徹底清理依賴:
- 徹底理解kubernetes CNI
- 徹底搞懂https原理HTTP
- 徹底理解Golang MapGolang
- 徹底理解正則
- Deno 正式釋出,徹底弄明白和 node 的區別
- 57張PPT徹底搞清楚區塊鏈技術。。區塊鏈
- 徹底搞清分庫分表(垂直分庫,垂直分表,水平分庫,水平分表)
- 【java】final、finally、finallize的區別Java
- oracle rac 12徹底刪除,徹底刪除該死的racOracle
- 一文徹底弄懂MySQL最佳化之深度分頁MySql
- 如何徹底關閉win10防火牆 徹底禁用windows防火牆Win10防火牆Windows
- 徹徹底底教會你使用Redux-saga(包含樣例程式碼)Redux
- 徹底解除安裝PythonPython
- 徹底掌握Python中 * 號Python
- 徹底弄懂 Nginx location 匹配Nginx
- 徹底理解cookie,session,tokenCookieSession
- 徹底搞懂Bean載入Bean
- 徹底理解JavaScript中的thisJavaScript
- webpack之路徑徹底吃透Web