Effective Java閱讀筆記

2021-08-10 07:31:08 字數 525 閱讀 8360

通用程式設計

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

不要重新造輪子,一般而言,類庫的**可能比你自己編寫的**更好一些,並且會隨著時間的推移而不斷改進。這並不是在對映你作為乙個程式設計師的能力,從經濟角度,類庫**受到的關注遠遠超過大多數普通程式設計師在同樣的功能上所能給予的投入。

1.喪失了編譯時型別檢查的好處

2.執行反射所需要的**非常笨拙和冗長

3.效能損失

jvm的功能越來越強大,如果本地**只做少量的工作,本地方法就可能降低效能,並且本地方法不是安全的,本地語言是與平台相關的,使用本地方法的應用程式也不再是可自由移植的,使用本地方法的應用程式也更難除錯,在進入和退出本地**時,需要相關的固定開銷,需要膠合**的本地方法編寫起來單調乏味,並且難以閱讀。必須使用時要進行全面的測試。

《effective Java》讀後筆記

為什麼區域性變數要宣告為 final 在jdk 1.8 之前,不用final修飾會編譯報錯。在jdk 1.8 中,不用final修飾不會報錯,但是一旦改變了變數的值就會報錯 區域性類如果乙個內部類需要在多個方法之外仍然是可見的,或者是它太長了,不適合於放在方法內部,就應該使用成員類。如果成員類的每個...

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...