Java核心技術捲2:高級特性(原書第10版)
內容描述
本書是Java領域有影響力和價值的著作之一,由擁有20多年教學與研究經驗的Java技術專家撰寫(獲Jolt大獎),與《Java編程思想》齊名,10餘年全球暢銷不衰,廣受好評。
第10版根據JavaSE8全面更新,同時修正了第9版中的不足,系統全面講解了Java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強。
目錄大綱
譯者序
前言
第1章Java SE 8的流庫1
1.1從迭代到流的操作1
1.2流的創建3
1.3 f?ilter、map和f?latMap方法6
1.4抽取子流和連接流8
1.5其他的流轉換8
1.6簡單約簡9
1.7 Optional類型11
1.7.1如何使用Optional值11
1.7.2不適合使用Optional值的方式12
1.7.3創建Optional值13
1.7.4用f?latMap來構建Optional值的函數13
1.8收集結果15
1.9收集到映射表中19
1.10群組和分區23
1.11下游收集器24
1.12約簡操作28
1.13基本類型流29
1.14並行流34
第2章輸入與輸出39
2.1輸入/輸出流39
2.1.1讀寫字節39
2.1.2完整的流家族42
2.1.3組合輸入/輸出流過濾器45
2.2文本輸入與輸出48
2.2.1如何寫出文本輸出49
2.2.2如何讀入文本輸入51
2.2.3以文本格式存儲對象52
2.2.4字符編碼方式55
2.3讀寫二進制數據57
2.3.1 DataInput和DataOutput接口57
2.3.2隨機訪問文件59
2.3.3 ZIP文檔63
2.4對象輸入/輸出流與序列化66
2.4.1保存和加載序列化對象66
2.4.2理解對象序列化的文件格式70
2.4.3修改默認的序列化機制75
2.4.4序列化單例和類型安全的枚舉77
2.4. 5版本管理78
2.4.6為克隆使用序列化80
2.5操作文件83
2.5.1 Path 83
2.5.2讀寫文件85
2.5.3創建文件和目錄87
2.5.4複製、移動和刪除文件88
2.5.5獲取文件信息89
2.5.6訪問目錄中的項91
2.5.7使用目錄流92
2.5.8 ZIP文件系統95
2.6內存映射文件96
2.6.1內存映射文件的性能96
2.6.2緩衝區數據結構103
2.6 .3文件加鎖機制105
2.7正則表達式106
第3章XML 117
3.1 XML概述117
3.1.1 XML文檔的結構119
3.2解析XML文檔122
3.3驗證XML文檔132
3.3.1文檔類型定義133
3.3.2 XML Schema 139
3.3.3實用示例142
3.4使用XPath來定位信息154
3.5使用命名空間159
3.6流機制解析器162
3.6.1使用SAX解析器162
3.6.2使用StAX解析器166
3.7生成XML文檔170
3.7.1不帶命名空間的文檔170
3.7.2帶命名空間的文檔170
3.7 .3寫出文檔171
3.7.4示例:生成SVG文件172
3.7.5使用StAX寫出XML文檔174
3.8 XSL轉換181
第4章網絡191
4.1連接到服務器191
4.1.1使用telnet 191
4.1.2用Java連接到服務器193
4.1.3套接字超時195
4.1.4因特網地址196
4.2實現服務器198
4.2.1服務器套接字198
4.2.2為多個客戶端服務201
4.2.3半關閉204
4.3可中斷套接字205
4.4獲取Web數211
4.4.1 URL和URI 211
4.4.2使用URLConnection獲取信息213
4.4.3提交表單數據220
4.5發送E-mail 228
第5章數據庫編程232
5.1 JDBC的設計232
5.1.1 JDBC驅動程序類型233
5.1.2 JDBC的典型用法234
5.2結構化查詢語言234
5.3 JDBC配置239
5.3.1數據庫URL 240
5.3.2驅動程序JAR文件240
5.3.3啟動數據庫240
5.3.4註冊驅動器類241
5.3.5連接到數據庫242
5.4使用JDBC語句244
5.4.1執行SQL語句244
5.4.2管理連接、語句和結果集247
5.4.3分析SQL異常248
5.4.4組裝數據庫250
5.5執行查詢操作254
5.5.1預備語句254
5.5.2讀寫LOB 259
5.5.3 SQL轉義261
5.5.4多結果集262
5.5.5獲取自動生成的鍵263
5.6可滾動和可更新的結果集263
5.6.1可滾動的結果集264
5.6.2可更新的結果集266
5.7行集269
5.7.1構建行集270
5.7. 2被緩存的行集270
5.8元數據273
5.9事務282
5.9.1用JDBC對事務編程282
5.9.2保存點283
5.9.3批量更新283
5.10高級SQL類型285
5.11 Web與企業應用中的連接管理286
第6章日期和時間API 288
6.1時間線288
6.2本地時間291
6.3日期調整器294
6.4本地時間295
6.5時區時間296
6.6格式化和解析299
6.7與遺留代碼的互操作302
第7章國際化304
7.1 Locale對象304
7.2數字格式309
7.3貨幣314
7.4日期和時間315
7.5排序和範化321
7.6消息格式化327
7.6.1格式化數字和日期327
7.6.2選擇格式329
7.7文本文件和字符集331
7.7.1文本文件331
7.7.2行結束符331
7.7.3控制台331
7.7.4日誌文件332
7.7.5 UTF-8字節順序標誌332
7.7 .6源文件的字符編碼333
7.8資源包333
7.8.1定位資源包334
7.8.2屬性文件335
7.8.3包類335
7.9一個完整的例子337
第8章腳本、編譯與註解處理352
8.1 Java平台的腳本352
8.1.1獲取腳本引擎352
8.1.2腳本賦值與綁定353
8.1.3重定向輸入和輸出355
8.1.4調用腳本的函數和方法356
8.1.5編譯腳本357
作者介紹
Cay S. Horstmann,聖何塞州立大學計算機科學系教授、Java的倡導者,經常在開發人員會議上發表演講。
他是《C0 re Java fo r the Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for the Impatient》(2012)的作者,這些書均由Addison—Wesley出版。
他為專業程序員和計算機科學專業學生編寫過數十本圖書。