買這商品的人也買了...
-
$147MySQL 必知必會
-
$580$493 -
$420$332 -
$810$770 -
$419$398 -
$505Spring MVC 實戰
-
$352Netty 實戰 (Netty in Action)
-
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$250Java 測試驅動開發 (Test-Driven Java Development)
-
$534$507 -
$250Python數據科學入門 (Data Science Essentials in Python: Collect - Organize - Explore - Predict - Value)
-
$403從 Lucene 到 Elasticsearch : 全文檢索實戰
-
$607Java 函數式編程
-
$352Python 貝葉斯分析
-
$399$315 -
$400$316 -
$680$578 -
$354$336 -
$454機器學習技術與實戰:醫學大數據深度應用
-
$454高級 Android 開發強化實戰
-
$199正則表達式必知必會 修訂版
-
$774$735 -
$505Spring 實戰, 5/e (Spring in Action, 5/e)
-
$305通信原理教程(第4版)
-
$294$279
相關主題
商品描述
本書涵蓋以下內容:
講解編程基礎,瞭解計算機程序的執行流程與基本元素;
講解計算機的基本元素由來與基本運行機制(二進制描述);
講解面向對象的編程原理與邏輯,設計類、繼承與多態、接口與抽像類、代碼的組織機制。
講解常用基礎類的實現方式與執行機制。
講解泛型、容器類、數據結構和算法;
講解文件系統的設計與實現。
講解並發編程的基礎、實現與編程技巧;
講解動態、聲明式、函數式編程的編程思路、API與技巧。
目錄大綱
目錄
Contents目錄
讀者評論
前言
第一部分編程基礎與二進制
第1章編程基礎2
1.1數據類型和變量3
1.2賦值4
1.2.1基本類型4
1.2.2數組類型6
1.3基本運算8
1.3.1算術運算8
1.3. 2比較運算10
1.3.3邏輯運算10
1.3.4小結11
1.4條件執行11
1.4.1語法和陷阱11
1.4.2實現原理14
1.5循環16
1.5.1循環的4種形式16
1.5.2循環控制19
1.5.3實現原理20
1.5.4小結20
1.6函數的用法21
1.6.1基本概念21
1.6.2進一步理解函數23
1.6.3小結27
1.7函數調用的基本原理27
1.7.1棧的概念27
1.7. 2函數執行的基本原理28
1.7.3數組和對象的內存分配29
1.7.4遞歸調用的原理30
1.7.5小結31
第2章理解數據背後的二進制33
2.1整數的二進製表示與位運算33
2.1.1正整數的二進製表示33
2.1.2負整數的二進製表示34
2.1.3十六進制35
2.1.4位運算36
2.2小數的二進製表示37
2.2.1小數計算為什麼會出錯37
2.2.2二進製表示38
2.3字符的編碼與亂碼39
2.3.1常見非Unicode編碼39
2.3.2 Unicode編碼42
2.3.3編碼轉換44
2.3.4亂碼的原因45
2.3.5從亂碼中恢復46
2.4 char的真正含義49
第二部分面向對象
第3章類的基礎52
3.1類的基本概念52
3.1.1函數容器52
3.1.2自定義數據類型53
3.1.3定義第一個類55
3.1.4使用第一個類55
3.1.5變量默認值57
3.1.6 private變量57
3.1.7構造方法58
3.1.8類和對象的生命週期60
3.1.9小結61
3.2類的組合61
3.2 .1 String和Date61
3.2.2圖形類62
3.2.3用類描述電商概念63
3.2.4用類描述人之間的血緣關係65
3.2.5目錄和文件66
3.2.6一些說明67
3.2.7小結68
3.3代碼的組織機制68
3.3.1包的概念68
3.3.2 jar包71
3.3.3程序的編譯與鏈接71
3.3.4小結72
第4章類的繼承73
4.1基本概念73
4.1.1根父類Object74
4.1.2方法重寫74
4.1 .3圖形類繼承體系75
4.1.4小結80
4.2繼承的細節80
4.2.1構造方法81
4.2.2重名與靜態綁定82
4.2.3重載和重寫83
4.2.4父子類型轉換85
4.2 .5繼承訪問權限protected85
4.2.6可見性重寫86
4.2.7防止繼承final87
4.3繼承實現的基本原理88
4.3.1示例88
4.3.2類加載過程90
4.3.3對象創建的過程91
4.3.4方法調用的過程92
4.3.5變量訪問的過程93
4.4為什麼說繼承是把雙刃劍94
4.4.1繼承破壞封裝94
4.4.2封裝是如何被破壞的94
4.4.3繼承沒有反映is-a關係97
4.4.4如何應對繼承的雙面性97
第5章類的擴展100
5.1接口的本質100
5.1.1接口的概念101
5.1.2定義接口101
5.1.3實現接口102
5.1.4使用接口103
5.1.5接口的細節105
5.1.6使用接口替代繼承106
5.1.7 Java 8和Java 9對接口的增強106
5.1.8小結108
5.2抽像類108
5.2.1抽象方法和抽像類108
5.2.2為什麼需要抽像類109
5.2.3抽像類和接口109
5.2.4小結110
5.3內部類的本質111
5.3 .1靜態內部類111
5.3.2成員內部類113
5.3.3方法內部類115
5.3.4匿名內部類117
5.4枚舉的本質119
5.4.1基礎120
5.4.2典型場景122
第6章異常125
6.1初識異常125
6.1.1 NullPointerException(空指針異常)125
6.1.2 NumberFormatException(數字格式異常)126
6.2異常類128
6.2.1 Throwable128
6.2.2異常類體系129
6.2.3自定義異常130
6.3異常處理131
6.3.1 catch匹配131
6.3.2重新拋出異常131
6.3.3 finally132
6.3.4 try-with-resources133
6.3.5 throws134
6.3.6對比受檢和未受檢異常135
6.4如何使用異常135
6.4.1異常應該且僅用於異常情況136
6.4.2異常處理的目標136
6.4.3異常處理的一般邏輯137
第7章常用基礎類138
7.1包裝類138
7.1.1基本用法139
7.1.2共同點140
7.1.3剖析Integer與二進制算法144
7.1.4剖析Character149
7.2剖析String155
7.2.1基本用法156
7.2.2走進String內部157
7.2.3編碼轉換157
7.2.4不可變性158
7.2.5常量字符串159
7.2.6 hashCode160
7.2.7正則表達式161
7.3剖析StringBuilder162
7.3.1基本用法162
7.3.2基本實現原理162
7.3.3 String的+和+ =運算符165
7.4剖析Arrays166
7.4.1用法166
7.4.2多維數組171
7.4.3實現原理172
7.4.4小結174
7.5剖析日期和時間174
7.5.1基本概念174
7.5.2日期和時間API175
7.5.3局限性182
7.6隨機183
7.6.1 Math.random183
7.6.2 Random184
7.6.3隨機的基本原理185
7.6.4隨機密碼187
7.6.5洗牌189
7.6.6帶權重的隨機選擇189
7.6.7搶紅包算法191
7.6.8北京購車搖號算法192
7.6.9小結193
第三部分泛型與容器
第8章泛型196
8.1基本概念和原理196
8.1.1一個簡單泛型類197
8.1.2容器類199
8.1.3泛型方法201
8.1.4泛型接口202
8.1.5類型參數的限定202
8.1.6小結205
8