Effective Java筆記
1.用靜態工廠代替構造器 有名字好理解
2.構造器多個引數的時候用builder
3.私有化構造器來強化單例和不可例項化的能力
4.計算的時候用long int 而不是 Long(包裝類) 使用String = "123" 而不是 new String("123") 因為建立了無用物件 for迴圈時效率會差很多
5.按照規範覆蓋equals,覆蓋equals時總要覆蓋hashCode,始終覆蓋toString(toString可以精簡為關鍵欄位)
相關推薦
Effective Java筆記
1.用靜態工廠代替構造器 有名字好理解 2.構造器多個引數的時候用builder 3.私有化構造器來強化單例和不可例項化的能力 4.計算的時候用long int 而不是 Long(包裝類) 使用String = "123" 而不是 new String("123") 因為建立了無用物件 fo
Effective Java筆記(一)
Effective Java筆記(一) Effective Java 1. 考慮用靜態方法代替構造器 例如 public static Boolean valueOf(boolean b){ return b > Boolean.TRUE : Boolean
effective java 筆記(物件的建立)
(一)建立和銷燬物件 1.考慮用靜態工廠方法代替構造器。 靜態工廠就是類提供一個共有的靜態工廠方法,它只是一個返回類的例項的靜態方法。 例如:public static <K,V> HashM 2.遇到多個構造器引數時要考慮用構造器。 3用私有構造器或者列舉型別強化S
Effective java筆記-對於所有物件都通用的方法
對於所有物件都通用的方法 第8條 覆蓋equals時請遵守通用約定 滿足以下任何一個條件,可以不覆蓋equals: 類的每個例項本質上都是唯一的。(如Thread) 不關心是否提供了“邏輯相等”的測試功能(如Random) 超類已經覆蓋了equals,從
Effective java筆記-第六章 列舉和註解
列舉和註解 第30條 用enum代替int常量 int列舉模式的缺點: 1.無名稱空間,所以要加字首防止名稱衝突 2.int列舉是編譯時常量,一旦常量關聯的int值變化,就要重新編譯 3.沒有很好的列印字串的方法(有一種String列舉常量,但是效能不好
《effective java》筆記
繼承 j2se png 靜態 培養 記錄 私有成員變量 fec 特意 周末看了下這本書。把覺得有用的內容,記錄下來,特意和大家分享下: 1. 不要濫用【繼承】,盡量使用【復用】; 用【私有成員變量(自身類的引用)】2. 接口只用於定義類型;3.優先考慮靜態成員類
Java 《Effective Java 中文版 第2版》學習筆記 遇到多個構造器時要考慮用構建器
fec 利用 客戶端代碼 except car beans pri 很好 種類 靜態工廠和構造器有個共同的局限性:它們都不能很好地擴展到大量的可選參數。 當一個類中有若幹個必選屬性和多個可選屬性時,采用重疊構造器模式、JavaBeans模式或者Builder模式,但
《Effective Java 中文版 第2版》學習筆記 第4條:通過私有構造器強化不可實例化的能力
缺省 ive ont sof family 其他 筆記 cnblogs ror 只有當類不包含顯式的構造器時,編譯器才會生成一個公有的、無參的缺省構造器。只要讓一個類包含私有構造器,這個類就不能被實例化了。示例: 1 // 工具類 2 public class Uti
《Effective Java 中文版 第2版》學習筆記 第5條:避免創建不必要的對象
多余 除了 示例 中文 註意 構造器 stat get tro 最好能重用對象而不是在每次需要的時候就創建一個相同功能的新對象。如果對象是不可變的,它就始終可以被重用。 1 String s = new String("stringette"); 每次執行該語句
《Effective Java 中文版 第2版》學習筆記 第7條:避免使用終結方法
擁有 fec finalize span fin effect 分布式系 leg 內存 在Java中,當一個對象變得不可到達時,垃圾回收器會回收與該對象相關聯的存儲空間。用try-finally塊來回收其他的非內存資源。 終結方法的缺點在於不能保證會被及時地執行
【讀書筆記】《Effective Java》——創建和銷毀對象
auth static 直接 cdr 也會 pattern cal next false Item 1. 考慮用靜態工廠方法替代構造器 獲得一個類的實例時我們都會采取一個公有的構造器。Foo x = new Foo(); 同時我們應該掌握另一種方法就是靜態工廠方法(st
《Effective Java中文版第二版》讀書筆記
set buffers 說明 pos body 垃圾回收 mar 內容 對象引用 說明 這裏是閱讀《Effective Java中文版第二版》的讀書筆記,這裏會記錄一些個人感覺稍微有些重要的內容,方便以後查閱,可能會因為個人實力原因導致理解有誤,若有發現歡迎指出。一些個人還
effective java學習筆記之不可實例化的類
style 類的方法 div pan ava 我們 工具 靜態 class 在沒有顯式聲明一個類的構造方法時,編譯器會生成默認的無參構造方法,在設計工具類時,我們通常將方法設置成靜態方法,以類名.方法名的形式調用,此時這個類就沒有必要創建實例,我們知道抽象類不可以被實例化,
《Effective Java》讀書筆記 - 最小化類的可變性
有效 down private 讀書筆記 工廠 public 限定 如果 構造器 Item 15 最小化類的可變性 effective java 如何做到讓類不可變? 不提供改變對象狀態的方法。(mutators) 確保類不會被繼承,即用final來限定類。 讓所有的
【讀書筆記 - Effective Java】02. 遇到多個構造器參數時要考慮用構建器
wid style ive tex 解決 相關 class javabeans stat 類有多個可選參數的解決方案:1. 重疊構造器模式可行,但是當有許多參數的時候,客戶端代碼會很難編寫,並且仍然較難以閱讀。2. JavaBeans模式,調用一個無參構造器來創造對象,然後
【讀書筆記 - Effective Java】05. 避免創建不必要的對象
auto ive effective zone 如果 方式 一次 body 安全 1. 如果對象是不可變的(immutable),它就始終可以被重用。 (1) 特別是String類型的對象。 String str1 = new String("str"); // 創建許多
【Effective Java讀書筆記】創建和銷毀對象(一):考慮使用靜態工廠方法代替構造器
返回對象 boolean 簡化 將不 其他 種類型 bigint color pre 類可以提供一個靜態方法,返回類的一個靜態實例,如Boolean包裝類的一個獲取實例的靜態方法 1 public static Boolean valueOf(boolean b) { 2
Effective Java--讀書筆記
以及 聲明 AR hashtable ceo 不可 溢出 必須 AD 第2章 創建和銷毀對象 1.考慮用靜態工廠方法代替構造函數-->靜態工廠模式。 2.使用私有構造函數強化singleton屬性-->單例模式。 3.通過私有構造函數強化不可實例化的能力:
《Effective Java》 學習筆記 —— 並發
是個 並不是 沒有 lec cached ive 而不是 線程並發 輪詢 《Effective Java》第二版學習筆記之並發編程。 第66條 同步訪問共享的可變數據 * 關鍵字synchronized可以保證在同一時刻只有一個線程可以執行某個方法或代碼塊。
《Effective Java》學習筆記 —— 序列化
ref javascrip 都是 lean one 最大 instance width art 74條 謹慎地實現Serializable接口 * 實現Serializable接口最大的代價是,一旦一個類被發布,就大大降低了“改變這個類的實現”