《effective Java》讀後筆記

2021-07-24 15:29:45 字數 426 閱讀 8421

為什麼區域性變數要宣告為 final

在jdk 1.8 之前,不用final修飾會編譯報錯。在jdk 1.8 中,不用final修飾不會報錯,但是一旦改變了變數的值就會報錯

區域性類如果乙個內部類需要在多個方法之外仍然是可見的,或者是它太長了,不適合於放在方法內部,就應該使用成員類。如果成員類的每個例項都需要乙個指向其外圍例項的引用,就要把成員類做成非靜態的;否則,就做成靜態的。如果乙個類只屬於乙個方法的內部,如果只需要在乙個地方建立例項,並且已經有了乙個預置的型別可以說明這個類的特徵(抽象類或者介面),就要把它做成匿名類,否則,就做成區域性類

可以使用 int 或者  long 進行換算單位後再進行計算,比如把元換成分,然後進行計算。如果樹枝範圍沒有超過9位十進位制數字,就可以使用 int;如果不超過18位數字,就可以使用long。如果數值超過 18 位數字,就必須使用 bigdecimal

Effective Java閱讀筆記

通用程式設計 將區域性變數的作用域最小化,可以增強 的可讀性和可維護性,並降低出錯的可能性。要使區域性變數的作用域最小化,最有力的方法就是在第一次使用它的地方宣告。如果變數在使用之前宣告,只會造成混亂,過早地宣告區域性變數不僅會使它的作用域擴充套件,而且結束地也過於晚了。不要重新造輪子,一般而言,類...

Effective Java 學習筆記 6

及時消除不使用的物件的引用,理論上,帶有記憶體管理的語言是不存在記憶體洩漏的,但是如果對物件的操作不當,也是可能會造成記憶體洩漏.如有乙個stack,其pop函式如下.public object pop if element.length 0 return null return element s...

Effective Java 學習筆記(5)

盡量復用物件,而不是建立新的物件,特別是當乙個物件是immutable 不可改變 的時候。如string物件,string s new string string 千萬不要這樣做,因為這裡實際上建立了兩個物件。要避免出現這樣的情況,1是可以用靜態工廠函式,來解決,如類庫中的boolean.value...