Effective Java讀書筆記併發
第一章:引言編碼
第二章:建立和銷燬對象spa
第一條:建立對象的方式線程
1、構造器設計
2、 靜態方法orm
3、構建器 對象
第三條::強化singleton接口
1、三種方式實現單例get
枚舉實現(最佳方式)hash
Public enum Animal{
INSTANCE;
Public void doSomeThing(){
}
}
第六條:消除過時的對象引用
例:棧中取對象時,出去的對象不會被當作垃圾回收,即便再也不使用這些對象,也不會被回收。由於,棧內部維護着對這些對象的過時引用(永遠不會被解除的引用)。解決方法:在對象彈出棧時,清空該棧中對象的引用
第三章:對於全部對象通用的方法(Object)
第8條:覆蓋equeas時請遵照通用約定
通用約定(若是不遵照,其餘依賴這些約定的類如:hashmap,hashSet就沒法結合該類一塊兒運做)
一、自反性:對於任何非Null的引用x ,x.equals(x)必須返回true
二、對稱性:x.equals(y) == y.equals(x)
三、傳遞性:x.equals(y),y.equals(z) 則x.equals(z)
四、一致性:只要x.equals(y),只要x或y的信息一直不修改,則值一直一致
五、非空性:非空x ,x.equals(null)返回false
第12條:考慮實現Comparable接口
comPareTo是其接口的惟一方法,不但能夠進行簡單等同性比較,還容許順序比較
第四章:類和接口
接口優於抽象
第五章:泛型
:聲明中具備一個或多個類型參數的類或接口就是泛型
第六章:枚舉和註解
枚舉:一組固定的常量組成的合法值的類型
@target 使用方式
@Retention 運行時或。。
第七章:方法
第八章:通用程序設計
46:For-each 優於for
49:基本類型優於裝箱基本類型
類型:1、基本類型 2、引用類型
基本類型對應有一個引用類型,稱爲裝箱基本類型
裝箱:兩個引用類型對比時,引用去基本類型的值
拆箱:引用類型比基本類型時,則取基本類型值比,拆箱
54:謹慎使用JNI本地方法
本地語言所設計的方法
56:遵照普通接受的命名規範
包、類或接口、方法或域、常量域、局部變量、類型參數
第九章:異常
58:checked exception /runtime exception /error
第十章:併發
68:executor和task優於線程
countDownLatch
第十一章:序列化
:將一個對象編碼成一個字節流