碼出高效:Java 開發手冊
內容描述
《碼出高效:Java 開發手冊》源於影響了全球250萬名開發工程師的《阿里巴巴Java開發手冊》,作者靜心沉澱,對Java規約的來龍去脈進行了全面而徹底的內容梳理。
本書以實戰為中心,以新穎的角度全面闡述面向對象理論,逐步深入地探索怎樣成為一位優秀開發工程師。
比如:如何駕輕就熟地使用各類集合框架;如何得心應手地處理高並發多線程問題;如何順其自然地寫出可讀性強、可維護性好的優雅代碼。
本書旁徵博引、文風輕鬆,秉持“圖勝於表,表勝於言”的理念,深入淺出地將計算機基礎、面向對象思想、JVM探源、數據結構與集合、並發與多線程、單元測試等知識客觀、立體地呈現出來。
緊扣學以致用、學以精進的目標,結合阿里巴巴實踐經驗和故障案例,與底層源碼解析融會貫通,娓娓道來。
本書以打造民族標杆圖書為己任,追求極致,打磨精品,在技術廣度和深度上兼具極強的參考性,適合計算機相關行業的管理者和研發人員、高等院校的計算機專業師生等閱讀。無論是初學者入門,或是中、高級程序員的進階提升,本書均為不容置疑的選擇。
目錄大綱
第1 章 電腦基礎
2 1.1 走進0 與1 的世界
6 1.2 浮點數
6 1.2.1 科學計數法
7 1.2.2 浮點數表示
9 1.2.3 加減運算
1.2.4 浮點數使用
1.3 字元集與亂碼
1.4 CPU 與記憶體
1.5 TCP/IP
1.5.1 網路通訊協定
1.5.2 IP
1.5.3 TCP 建立連接
1.5.4 TCP 斷開連接
1.5.5 連接池
1.6 資訊安全
1.6.1 駭客與安全
1.6.2 SQL 注入
1.6.3 XSS 與CSRF
1.6.4 CSRF
1.6.5 HTTPS
1.7 程式設計語言的發展
第2 章 物件導向
2.1 OOP 理念
2.2 初識Java
2.3 類
2.3.1 類的定義
2.3.2 介面與抽象類別
2.3.3 內部類
2.3.4 存取權限控制
2.3.5 this 與 super
2.3.6 類關係
2.3.7 序列化
2.4 方法
2.4.1 方法簽名
2.4.2 參數
2.4.3 構造方法
2.4.4 類內方法
2.4.5 getter 與setter
2.4.6 同步與非同步
2.4.7 覆寫
2.5 重載
2.6 泛型
2.7 資料類型
2.7.1 基底資料型別
2.7.2 包裝類型
2.7.3 字串
第3 章 代碼風格
3.1 命名規約
3.1.1 常量
3.1.2 變數
3.2 代碼展示風格
3.2.1 縮進、空格與空行
3.2.2 換行與高度
3.2.3 控制語句
3.3 代碼注釋
3.3.1 注釋三要素
3.3.2 注釋格式
第4 章 走進JVM
4.1 位元組碼
4.2 類載入過程
4.3 記憶體佈局
4.4 對象產生實體
4.5 垃圾回收
第5 章 異常與日誌
5.1 異常分類
5.2 try 代碼塊
5.3 異常的拋與接
5.4 日誌
5.4.1 日誌規範
5.4.2 日誌框架
第6 章 資料結構與集合
6.1 資料結構
6.2 集合框架圖
6.2.1 List 集合
6.2.2 Queue 集合
6.2.3 Map 集合
6.2.4 Set
6.3 集合初始化
6.4 陣列與集合
6.5 集合與泛型
6.6 元素的比較
6.6.1 Comparable 和Comparator
6.6.2 hashCode 和equals
6.7 fail-fast 機制
6.8 Map 類集合
6.8.1 紅黑樹
6.8.2 TreeMap
6.8.3 HashMap
6.8.4 ConcurrentHashMap
第7 章 併發與多執行緒
7.1 執行緒安全
7.2 什麼是鎖
7.3 執行緒同步
7.3.1 同步是什麼
7.3.2 volatile
7.3.3 信號量同步
7.4 執行緒池
7.4.1 執行緒池的好處
7.4.2 執行緒池源碼詳解
7.5 ThreadLocal
7.5.1 參考類型
7.5.2 ThreadLocal 價值
7.5.3 ThreadLocal 副作用
第8 章 單元測試
8.1 單元測試的基本原則
8.2 單元測試覆蓋率
8.3 單元測試編寫
8.3.1 JUnit 單元測試框架
8.3.2 命名
8.3.3 斷言與假設
第9 章 代碼規約
9.1 代碼規約的意義
9.2 如何推動落地
9.3 手冊縱覽
9.4 聊聊成長