目的
爲什麼要選取《Thinking in java》這本書?
- 語言本身:Java程序語言在實際場景開發中有非常多的通途,許多互聯網產品的basic依託於java語言來實現
- 書籍:我始終認爲思想性的東西是最重要的,可以爲自己的行爲劃定標準,知道什麼樣的思考方向是合理的,基本的思考框架應該是什麼
閱讀書籍首先應該對整本書有一個初略的瞭解和認識。
整書概況
通過閱讀目錄大致對於這本書有如下理解(僅通過目錄字眼理解):
- 對象導論:Java語言的導讀,介紹一下各種名詞或語言特性以此來quick start
- 一切都是對象:面向對象的特性
- 操作符:語法
- 控制執行流程:語言流程控制
- 初始化與清理:初始化和垃圾清理機制
- 訪問控制權限:控制符
- 複用類:如何複用代碼(繼承、實現接口)
- 多態:代碼的擴展
- 接口:代碼的擴展
- 內部類:什麼是內部類及用途
- 持有對象:一些數據結構
- 通過異常處理數據:異常處理,報錯機制非常重要,判斷代碼bug位置
- 字符串:關於字符串的一些使用,產品基本和字符串打交道,需要學會如何處理
- 類型信息:反射
- 泛型:擴展代碼,增加程序的泛化能力
- 數組:底層數據結構的認識
- 容器深入研究:深入研究數據結構
- Java I/O系統:對於I/O的理解,內存、磁盤、控制檯等之間的轉化
- 枚舉類型:對於枚舉理解
- 註解:各種註解及unit test
- 併發:高效編程,合理利用資源,增強性能
總結
首先對於本書有了一個基本的認識,再結合自身的一些需求情況,認爲需要重點閱讀及理解的:1/2(需要對全局概念有基本認識)、7/8、9、15(代碼複用,深入可追設計模式)、11/16、17(基礎或深入的數據結構)、12(異常、報錯機制,當面對一個龐大複雜的系統時,必須要有良好的異常機制,否則無法定位到問題)、14(更好地理解代碼本身)、18(理解IO,序列化)、21(更優質的程序員,更復雜的結構設計)