《Effective Java》 (持續(xù)更新)

《Effective Java》應(yīng)該是Java程序員都聽(tīng)說(shuō)過(guò)的一本書(shū)了,特別適合于Java程序員的進(jìn)階學(xué)習(xí)。
之前斷斷續(xù)續(xù)有看,但是最近又有時(shí)間了,想系統(tǒng)的花時(shí)間整理一下,對(duì)里面的知識(shí)做一個(gè)簡(jiǎn)單的記錄學(xué)習(xí)。
如果有朋友也想看這本書(shū),想要電子版的可以留言郵箱,我私發(fā)給你。但是還是建議買紙質(zhì)書(shū)。
因?yàn)椴粌H想學(xué)習(xí)的時(shí)候可以看看,不想學(xué)習(xí)的時(shí)候還可以拿來(lái)墊顯示器(手動(dòng)狗頭)
(PS:顯示器墊高一些對(duì)頸椎好哦?。?br> (PPS:如果想看看其他推薦的程序員要看的資料可以去這里逛逛:2020年java開(kāi)發(fā)應(yīng)該讀的18本書(shū)(譯)

下面開(kāi)始正文吧,會(huì)持續(xù)更新下去。


1、第一章 引言

幾個(gè)基本原則
1、代碼應(yīng)該清晰,簡(jiǎn)潔
2、代碼應(yīng)該被重用,而不是被拷貝
3、錯(cuò)誤應(yīng)該盡早被監(jiān)測(cè)出來(lái),最好是在編譯的時(shí)候

2、第二章 創(chuàng)建和銷毀對(duì)象

第一條:考慮用靜態(tài)工廠代替構(gòu)造器
靜態(tài)工廠代替構(gòu)造器的具體代碼實(shí)現(xiàn)

public static Boolean valueOf(boolean b){
        return b?Boolean.TRUE:Boolean.FALSE;
}

這種做法的優(yōu)點(diǎn)有以下幾個(gè):
(1)、靜態(tài)工廠可以自定義名稱,所以可以清晰的描述對(duì)象
(2)、用來(lái)實(shí)現(xiàn)單例,不用每次都生成對(duì)象
(3)、靜態(tài)工廠可以返回原返回類型的任何子類型
(使用這個(gè)功能,可以實(shí)現(xiàn)服務(wù)提供者框架,具體服務(wù)提供者框架是什么,可以看著參考資料1
(4)、靜態(tài)工廠在創(chuàng)建參數(shù)化類型實(shí)例的時(shí)候,可以通過(guò)類型推導(dǎo)(type inference)簡(jiǎn)化參數(shù)傳遞(在jdk8之后,集合類可以直接new,不帶參數(shù))

這種做法的缺點(diǎn)有以下幾個(gè):
(1)、類如果不含有公有或者受保護(hù)的構(gòu)造器,就不能被子類化


參考資料:
1、《Effective Java》
2、Effective Java學(xué)習(xí)(1) 服務(wù)提供者框架

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容