定 價(jià):¥98.00
作 者: | 林信良 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302501183 | 出版時(shí)間: | 2018-06-01 | 包裝: | |
開(kāi)本: | 頁(yè)數(shù): | 字?jǐn)?shù): |
Chapter 1 Java平臺(tái)概論 1
1.1 Java不只是語(yǔ)言 2
1.1.1 前世今生 2
1.1.2 三大平臺(tái) 5
1.1.3 JCP與JSR 6
1.1.4 Oracle JDK與OpenJDK 7
1.1.5 建議的學(xué)習(xí)路徑 8
1.2 JVM/JRE/JDK 12
1.2.1 什么是JVM 12
1.2.2 區(qū)分JRE與JDK 14
1.2.3 下載、安裝JDK 15
1.2.4 認(rèn)識(shí)JDK安裝內(nèi)容 18
1.3 重點(diǎn)復(fù)習(xí) 19
Chapter 2 從JDK到IDE 21
2.1 從Hello World開(kāi)始 22
2.1.1 撰寫(xiě)Java原始碼 22
2.1.2 PATH是什么 24
2.1.3 JVM(java)與CLASSPATH 27
2.1.4 編譯程序(javac)與
CLASSPATH 29
2.2 管理原始碼與位碼文檔 30
2.2.1 編譯程序(javac)與
SOURCEPATH 30
2.2.2 使用package管理類(lèi) 32
2.2.3 使用import偷懶 34
2.3 初識(shí)模塊平臺(tái)系統(tǒng) 36
2.3.1 JVM(java)與module-
path 37
2.3.2 編譯程序(javac)與
module-path 39
2.3.3 編譯程序(javac)與
module-source-path 40
2.4 使用IDE 41
2.4.1 IDE項(xiàng)目管理基礎(chǔ) 41
2.4.2 使用了哪個(gè)JRE 47
2.4.3 類(lèi)文檔版本 49
2.5 重點(diǎn)復(fù)習(xí) 51
Chapter 3 基礎(chǔ)語(yǔ)法 53
3.1 類(lèi)型、變量與運(yùn)算符 54
3.1.1 類(lèi)型 54
3.1.2 變量 57
3.1.3 運(yùn)算符 60
3.1.4 類(lèi)型轉(zhuǎn)換 65
3.2 流程控制 68
3.2.1 if...else條件式 68
3.2.2 switch條件式 70
3.2.3 for循環(huán) 72
3.2.4 while循環(huán) 73
3.2.5 break、continue 74
3.3 重點(diǎn)復(fù)習(xí) 76
3.4 課后練習(xí) 77
Chapter 4 認(rèn)識(shí)對(duì)象 78
4.1 類(lèi)與對(duì)象 79
4.1.1 定義類(lèi) 79
4.1.2 使用標(biāo)準(zhǔn)類(lèi) 81
4.1.3 對(duì)象指定與相等性 84
4.2 基本類(lèi)型打包器 86
4.2.1 打包基本類(lèi)型 86
4.2.2 自動(dòng)裝箱、拆箱 87
4.2.3 自動(dòng)裝箱、拆箱的內(nèi)幕 88
4.3 數(shù)組對(duì)象 90
4.3.1 數(shù)組基礎(chǔ) 91
4.3.2 操作數(shù)組對(duì)象 93
4.3.3 數(shù)組復(fù)制 98
4.4 字符串對(duì)象 100
4.4.1 字符串基礎(chǔ) 101
4.4.2 字符串特性 103
4.4.3 字符串編碼 107
4.5 查詢Java API文件 108
4.6 重點(diǎn)復(fù)習(xí) 113
4.7 課后練習(xí) 114
Chapter 5 對(duì)象封裝 116
5.1 何謂封裝 117
5.1.1 封裝對(duì)象初始流程 117
5.1.2 封裝對(duì)象操作流程 119
5.1.3 封裝對(duì)象內(nèi)部數(shù)據(jù) 121
5.2 類(lèi)語(yǔ)法細(xì)節(jié) 123
5.2.1 public權(quán)限修飾 123
5.2.2 關(guān)于構(gòu)造函數(shù) 125
5.2.3 構(gòu)造函數(shù)與方法重載 126
5.2.4 使用this 128
5.2.5 static類(lèi)成員 130
5.2.6 不定長(zhǎng)度自變量 135
5.2.7 內(nèi)部類(lèi) 136
5.2.8 傳值調(diào)用 138
5.3 重點(diǎn)復(fù)習(xí) 140
5.4 課后練習(xí) 141
Chapter 6 繼承與多態(tài) 142
6.1 何謂繼承 143
6.1.1 繼承共同行為 143
6.1.2 多態(tài)與is-a 147
6.1.3 重新定義行為 150
6.1.4 抽象方法、抽象類(lèi) 153
6.2 繼承語(yǔ)法細(xì)節(jié) 154
6.2.1 protected成員 154
6.2.2 重新定義的細(xì)節(jié) 156
6.2.3 再看構(gòu)造函數(shù) 157
6.2.4 再看final關(guān)鍵字 159
6.2.5 java.lang.Object 160
6.2.6 關(guān)于垃圾收集 165
6.2.7 再看抽象類(lèi) 167
6.3 重點(diǎn)復(fù)習(xí) 169
6.4 課后練習(xí) 170
Chapter 7 接口與多態(tài) 171
7.1 何謂接口 172
7.1.1 接口定義行為 172
7.1.2 行為的多態(tài) 175
7.1.3 解決需求變化 178
7.2 接口語(yǔ)法細(xì)節(jié) 183
7.2.1 接口的默認(rèn) 183
7.2.2 匿名內(nèi)部類(lèi) 187
7.2.3 使用enum枚舉常數(shù) 190
7.3 重點(diǎn)復(fù)習(xí) 192
7.4 課后練習(xí) 193
Chapter 8 異常處理 194
8.1 語(yǔ)法與繼承架構(gòu) 195
8.1.1 使用try、catch 195
8.1.2 異常繼承架構(gòu) 197
8.1.3 要抓還是要拋 202
8.1.4 貼心還是造成麻煩 205
8.1.5 認(rèn)識(shí)堆棧追蹤 206
8.1.6 關(guān)于assert 210
8.2 異常與資源管理 213
8.2.1 使用finally 213
8.2.2 自動(dòng)嘗試關(guān)閉資源 215
8.2.3 java.lang.AutoCloseable
接口 217
8.3 重點(diǎn)復(fù)習(xí) 221
8.4 課后練習(xí) 222
Chapter 9 Collection與Map 223
9.1 使用Collection收集對(duì)象 224
9.1.1 認(rèn)識(shí)Collection架構(gòu) 224
9.1.2 具有索引的List 225
9.1.3 內(nèi)容不重復(fù)的Set 228
9.1.4 支持隊(duì)列操作的Queue 232
9.1.5 使用泛型 234
9.1.6 簡(jiǎn)介L(zhǎng)ambda表達(dá)式 238
9.1.7 Interable與
Iterator 240
9.1.8 Comparable與
Comparator 243
9.2 鍵值對(duì)應(yīng)的Map 248
9.2.1 常用Map操作類(lèi) 249
9.2.2 訪問(wèn)Map鍵值 252
9.3 不可變的Collection
與Map 255
9.3.1 淺談不可變特性 255
9.3.2 Collections的
unmodifiableXXX()
方法 256
9.3.3 List、Set、Map的of()
方法 258
9.4 重點(diǎn)復(fù)習(xí) 260
9.5 課后練習(xí) 262
Chapter 10 輸入/輸出 263
10.1 InputStream與
OutputStream 264
10.1.1 串流設(shè)計(jì)的概念 264
10.1.2 串流繼承架構(gòu) 266
10.1.3 串流處理裝飾器 269
10.2 字符處理類(lèi) 273
10.2.1 Reader與Writer繼承
架構(gòu) 274
10.2.2 字符處理裝飾器 275
10.3 重點(diǎn)復(fù)習(xí) 277
10.4 課后練習(xí) 278
Chapter 11 線程與并行API 279
11.1 線程 280
11.1.1 線程簡(jiǎn)介 280
11.1.2 Thread與Runnable 282
11.1.3 線程生命周期 284
11.1.4 關(guān)于ThreadGroup 290
11.1.5 synchronized與
volatile 292
11.1.6 等待與通知 301
11.2 并行API 305
11.2.1 Lock、ReadWriteLock與
Condition 305
11.2.2 使用Executor 313
11.2.3 并行Collection簡(jiǎn)介 323
11.3 重點(diǎn)復(fù)習(xí) 326
11.4 課后練習(xí) 327
Chapter 12 Lambda 328
12.1 認(rèn)識(shí)Lambda語(yǔ)法 329
12.1.1 Lambda語(yǔ)法概覽 329
12.1.2 Lambda表達(dá)式與函數(shù)
接口 332
12.1.3 Lambda遇上this與
final 334
12.1.4 方法與構(gòu)造函數(shù)參考 336
12.1.5 接口默認(rèn)方法 338
12.2 Functional與Stream API 343
12.2.1 使用Optional取代
null 343
12.2.2 標(biāo)準(zhǔn)API的函數(shù)接口 345
12.2.3 使用Stream進(jìn)行管道
操作 348
12.2.4 進(jìn)行Stream的reduce
與collect 351
12.2.5 關(guān)于flatMap()方法 356
12.2.6 Stream相關(guān)API 359
12.2.7 JDK9 Optional與
Stream增強(qiáng) 360
12.3 Lambda、平行化與異步
處理 362
12.3.1 Stream與平行化 362
12.3.2 Arrays與平行化 366
12.3.3 CompletableFuture
非同步處理 367
12.3.4 JDK9 CompletableFuture
增強(qiáng) 369
12.4 重點(diǎn)復(fù)習(xí) 370
12.5 課后練習(xí) 371
Chapter 13 時(shí)間與日期 372
13.1 認(rèn)識(shí)時(shí)間與日期 373
13.1.1 時(shí)間的度量 373
13.1.2 年歷簡(jiǎn)介 374
13.1.3 認(rèn)識(shí)時(shí)區(qū) 375
13.2 認(rèn)識(shí)Date與Calendar 376
13.2.1 時(shí)間軸上瞬間的Date 376
13.2.2 格式化時(shí)間日期的
DateFormat 377
13.2.3 處理時(shí)間日期的
Calendar 379
13.2.4 設(shè)定TimeZone 382
13.3 新時(shí)間日期API 383
13.3.1 機(jī)器時(shí)間觀點(diǎn)的API 383
13.3.2 人類(lèi)時(shí)間觀點(diǎn)的API 385
13.3.3 對(duì)時(shí)間的運(yùn)算 387
13.3.4 年歷系統(tǒng)設(shè)計(jì) 389
13.4 重點(diǎn)復(fù)習(xí) 390
13.5 課后練習(xí) 391
Chapter 14 NIO與NIO2 393
14.1 認(rèn)識(shí)NIO 394
14.1.1 NIO概述 394
14.1.2 Channel架構(gòu)與操作 395
14.1.3 Buffer架構(gòu)與操作 396
14.2 NIO2文件系統(tǒng) 398
14.2.1 NIO2架構(gòu) 398
14.2.2 操作路徑 399
14.2.3 屬性讀取與設(shè)定 401
14.2.4 操作文檔與目錄 404
14.2.5 讀取、訪問(wèn)目錄 406
14.2.6 過(guò)濾、搜索文檔 410
14.3 重點(diǎn)復(fù)習(xí) 412
14.4 課后練習(xí) 413
Chapter 15 通用API 414
15.1 日志 415
15.1.1 日志API簡(jiǎn)介 415
15.1.2 指定日志層級(jí) 417
15.1.3 使用Handler與
Formatter 419
15.1.4 自定義Handler、Formatter
與Filter 420
15.1.5 使用logging.
properties 422
15.2 國(guó)際化基礎(chǔ) 423
15.2.1 使用ResourceBundle 423
15.2.2 使用Locale 424
15.3 規(guī)則表示式 426
15.3.1 規(guī)則表示式簡(jiǎn)介 426
15.3.2 Pattern與Matcher 433
15.4 處理數(shù)字 435
15.4.1 使用BigInteger 435
15.4.2 使用BigDecimal 437
15.4.3 數(shù)字的格式化 439
15.5 再談堆棧追蹤 441
15.5.1 獲取
StackTraceElement 441
15.5.2 JDK9的Stack-
Walking API 443
15.6 重點(diǎn)復(fù)習(xí) 447
15.7 課后練習(xí) 448
Chapter 16 整合數(shù)據(jù)庫(kù) 449
16.1 JDBC入門(mén) 450
16.1.1 JDBC簡(jiǎn)介 450
16.1.2 連接數(shù)據(jù)庫(kù) 454
16.1.3 使用Statement、
ResultSet 459
16.1.4 使用PreparedStatement、
CallableStatement 464
16.2 JDBC進(jìn)階 468
16.2.1 使用DataSource取得
聯(lián)機(jī) 468
16.2.2 使用ResultSet卷動(dòng)、
更新數(shù)據(jù) 471
16.2.3 批次更新 473
16.2.4 Blob與Clob 474
16.2.5 交易簡(jiǎn)介 474
16.2.6 metadata簡(jiǎn)介 481
16.2.7 RowSet簡(jiǎn)介 484
16.3 重點(diǎn)復(fù)習(xí) 486
16.4 課后練習(xí) 487
Chapter 17 反射與類(lèi)加載器 489
17.1 運(yùn)用反射 490
17.1.1 Class與.class文檔 490
17.1.2 使用Class.
forName() 492
17.1.3 從Class獲得信息 494
17.1.4 從Class建立對(duì)象 496
17.1.5 操作對(duì)象方法與成員 499
17.1.6 動(dòng)態(tài)代理 501
17.1.7 當(dāng)反射遇上模塊 505
17.1.8 使用ServiceLoader 511
17.2 了解類(lèi)加載器 513
17.2.1 JDK9類(lèi)加載器層級(jí) 513
17.2.2 建立ClassLoader
實(shí)例 516
17.3 重點(diǎn)復(fù)習(xí) 517
17.4 課后練習(xí) 519
Chapter 18 自定義泛型、枚舉與注釋 520
18.1 自定義泛型 521
18.1.1 使用extends與? 521
18.1.2 使用super與? 525
18.2 自定義枚舉 528
18.2.1 了解java.lang.Enum類(lèi) 528
18.2.2 enum高*運(yùn)用 531
18.3 關(guān)于注釋 536
18.3.1 常用標(biāo)準(zhǔn)注釋 536
18.3.2 自定義注釋類(lèi)型 540
18.3.3 執(zhí)行時(shí)期讀取注釋信息 545
18.4 重點(diǎn)復(fù)習(xí) 548
18.5 課后練習(xí) 549
Chapter 19 深入模塊化 550
19.1 運(yùn)用模塊 551
19.1.1 模塊的種類(lèi) 551
19.1.2 requires、exports與
opens細(xì)節(jié) 554
19.1.3 修補(bǔ)模塊 557
19.1.4 放寬模塊封裝與依賴 558
19.2 模塊API 560
19.2.1 使用Module 560
19.2.2 使用
ModuleDescriptor 562
19.2.3 淺談ModuleLayer 562
19.3 打包模塊 564
19.3.1 使用jar打包 564
19.3.2 使用jmod打包 566
19.3.3 使用jlink建立執(zhí)行時(shí)期
映像 568