《Java技術手冊(第6版)》是2015年11月人民郵電出版社出版的圖書,作者是[英]埃文斯(Benjamin J·Evans)、[美]弗拉納根(David Flanagan)。
基本介紹
- 中文名:Java技術手冊(第6版)
- 作者:[英]埃文斯(Benjamin J·Evans)、[美]弗拉納根(David Flanagan)
- 出版時間:2015年11月
- 出版社:人民郵電出版社
- 頁數:329 頁
- ISBN:9787115406095
- 定價:79 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
《Java技術手冊 第6版》為《Java 技術手冊》的升級版,涵蓋全新的Java 7 和Java 8。第 1部分介紹Java 程式語言和Java 平台,主要內容有Java 環境、Java 基本句法、Java 面向對象編程、Java 類型系統、Java的面向對象設計、Java 實現記憶體管理和並發編程的方式。第 2部分通過大量示例來闡述如何在Java 環境中完成實際的編程任務,主要內容有編程和文檔約定,使用Java 集合和數組,處理常見的數據格式,處理檔案和I/O,類載入、反射和方法句柄,Nashorn,以及平台工具和配置。
圖書目錄
序 xv
前言 xvi
第 一部分 Java 介紹
第 1 章 Java 環境介紹 2
1.1 Java 語言、JVM 和生態系統 2
1.1.1 Java 語言是什麼 3
1.1.2 JVM 是什麼 4
1.1.3 Java 生態系統是什麼 5
1.2 Java 和JVM 簡史 6
1.3 Java 程式的生命周期 7
1.4 Java 的安全性 9
1.5 Java 和其他語言比較 9
1.5.1 Java 和C 語言比較 9
1.5.2 Java 和C++ 比較 10
1.5.3 Java 和PHP 比較 10
1.5.4 Java 和JavaScript 比較 10
1.6 回應對Java 的一些批評 10
1.6.1 過度複雜 10
1.6.2 變化慢 11
1.6.3 性能問題 12
1.6.4 不安全 12
1.6.5 太注重企業 12
第 2 章 Java 基本句法 13
2.1 Java 程式概覽 14
2.2 詞法結構 14
2.2.1 Unicode 字元集 14
2.2.2 區分大小寫與空白 14
2.2.3 注釋 15
2.2.4 保留字 16
2.2.5 標識符 16
2.2.6 字面量 17
2.2.7 標點符號 17
2.3 基本數據類型 17
2.3.1 布爾類型 18
2.3.2 字元類型 18
2.3.3 整數類型 20
2.3.4 浮點數類型 21
2.3.5 基本類型之間的轉換 22
2.4 表達式和運算符 24
2.4.1 運算符概述 25
2.4.2 算術運算符 28
2.4.3 字元串連線運算符 30
2.4.4 遞增和遞減運算符 30
2.4.5 比較運算符 31
2.4.6 邏輯運算符 32
2.4.7 位運算符和位移運算符 33
2.4.8 賦值運算符 35
2.4.9 條件運算符 36
2.4.10 instanceof 操作符 36
2.4.11 特殊運算符 37
2.5 語句 38
2.5.1 表達式語句 39
2.5.2 複合語句 39
2.5.3 空語句 39
2.5.4 標註語句 40
2.5.5 局部變數聲明語句 40
2.5.6 if/else 語句 41
2.5.7 switch 語句 43
2.5.8 while 語句 45
2.5.9 do 語句 45
2.5.10 for 語句 46
2.5.11 遍歷語句 47
2.5.12 break 語句 48
2.5.13 continue 語句 49
2.5.14 return 語句 49
2.5.15 synchronized 語句 50
2.5.16 throw 語句 50
2.5.17 try/catch/finally 語句 51
2.5.18 處理資源的try 語句 53
2.5.19 assert 語句 54
2.6 方法 55
2.6.1 定義方法 55
2.6.2 方法修飾符 57
2.6.3 已檢異常和未檢異常 59
2.6.4 變長參數列表 60
2.7 介紹類和對象 61
2.7.1 定義類 62
2.7.2 創建對象 62
2.7.3 使用對象 63
2.7.4 對象字面量 63
2.7.5 lambda 表達式 64
2.8 數組 65
2.8.1 數組的類型 65
2.8.2 創建和初始化數組 67
2.8.3 使用數組 68
2.8.4 多維數組 70
2.9 引用類型 72
2.9.1 引用類型與基本類型比較 72
2.9.2 處理對象和引用副本 73
2.9.3 比較對象 74
2.9.4 裝包和拆包轉換 75
2.10 包和Java 命名空間 76
2.10.1 聲明包 76
2.10.2 全局唯 一的包名 77
2.10.3 導入類型 77
2.10.4 導入靜態成員 79
2.11 Java 檔案的結構 80
2.12 定義並運行Java 程式 81
2.13 小結 82
第3 章 Java 面向對象編程 83
3.1 類簡介 83
3.1.1 面向對象的基本概念 83
3.1.2 其他引用類型 84
3.1.3 定義類的句法 85
3.2 欄位和方法 85
3.2.1 聲明欄位的句法 86
3.2.2 類欄位 87
3.2.3 類方法 88
3.2.4 實例欄位 89
3.2.5 實例方法 89
3.2.6 this 引用的工作方式 90
3.3 創建和初始化對象 91
3.3.1 定義構造方法 91
3.3.2 定義多個構造方法 92
3.3.3 在一個構造方法中調用另一個構造方法 92
3.3.4 欄位的默認值和初始化程式 93
3.4 子類和繼承 95
3.4.1 擴展類 95
3.4.2 超類、對象和類層次結構 97
3.4.3 子類的構造方法 98
3.4.4 構造方法鏈和默認構造方法 98
3.4.5 遮蓋超類的欄位 100
3.4.6 覆蓋超類的方法 101
3.5 數據隱藏和封裝 104
3.5.1 訪問控制 105
3.5.2 數據訪問器方法 110
3.6 抽象類和方法 111
3.7 修飾符總結 115
第4 章 Java 類型系統 117
4.1 接口 118
4.1.1 定義接口 118
4.1.2 擴展接口 119
4.1.3 實現接口 119
4.1.4 實現多個接口 121
4.1.5 默認方法 121
4.1.6 標記接口 123
4.2 Java 泛型 123
4.2.1 介紹泛型 124
4.2.2 泛型和類型參數 125
4.2.3 菱形句法 126
4.2.4 類型擦除 126
4.2.5 通配符 127
4.2.6 編譯時和運行時類型 131
4.3 枚舉和註解 131
4.3.1 枚舉 131
4.3.2 註解 133
4.3.3 自定義註解 134
4.3.4 類型註解 135
4.4 嵌套類型 135
4.4.1 靜態成員類型 136
4.4.2 非靜態成員類 138
4.4.3 局部類 141
4.4.4 詞法作用域和局部變數 144
4.4.5 匿名類 145
4.4.6 嵌套類型的運作方式 147
4.5 lambda 表達式 148
4.5.1 轉換lambda 表達式 150
4.5.2 方法引用 150
4.5.3 函式式編程 151
4.6 小結 152
第5 章 Java 的面向對象設計 154
5.1 Java 的值 154
5.2 java.lang.Object 類的重要方法 155
5.2.1 toString() 方法 157
5.2.2 equals() 方法 157
5.2.3 hashCode() 方法 158
5.2.4 Comparable::compareTo() 方法 158
5.2.5 clone() 方法 159
5.3 面向對象設計要略 159
5.3.1 常量 159
5.3.2 用接口還是抽象類 160
5.3.3 實例方法還是類方法 161
5.3.4 合成還是繼承 163
5.3.5 欄位繼承和訪問器 165
5.3.6 單例 167
5.4 異常和異常處理 168
5.5 Java 編程的安全性 170
第6 章 Java 實現記憶體管理和並發編程的方式 172
6.1 Java 記憶體管理的基本概念 172
6.1.1 Java 中的記憶體泄露 173
6.1.2 標記清除算法簡介 173
6.1.3 基本標記清除算法 174
6.2 JVM 最佳化垃圾回收的方式 175
6.3 HotSpot 堆 178
6.3.1 回收老年代 178
6.3.2 其他回收程式 179
6.4 終結機制 180
6.5 Java 對並發編程的支持 181
6.5.1 執行緒的生命周期 182
6.5.2 可見性和可變性 184
6.5.3 互斥和狀態保護 185
6.5.4 volatile 關鍵字 187
6.5.5 Thread 類中有用的方法 188
6.6 使用執行緒 190
6.7 小結 192
第 二部分 使用Java 平台
第7 章 編程和文檔約定 194
7.1 命名和大小寫約定 194
7.2 實用的命名方式 196
7.3 Java 文檔注釋 197
7.3.1 文檔注釋的結構 198
7.3.2 文檔注釋標籤 198
7.3.3 行內文檔注釋標籤 201
7.3.4 文檔注釋中的交叉引用 203
7.3.5 包的文檔注釋 204
7.4 可移植程式的約定 205
第8 章 使用Java 集合 208
8.1 介紹集合API 208
8.1.1 Collection 接口 209
8.1.2 Set 接口 211
8.1.3 List 接口 213
8.1.4 Map 接口 217
8.1.5 Queue 接口和BlockingQueue 接口 220
8.1.6 實用方法 222
8.1.7 數組和輔助方法 224
8.2 在Java 集合框架中使用lambda 表達式 225
8.2.1 函式式方式 226
8.2.2 流API 229
8.3 小結 232
第9 章 處理常見的數據格式 233
9.1 文本 233
9.1.1 字元串的特殊句法 233
9.1.2 字元串的不可變性 235
9.1.3 正則表達式 237
9.2 數字和數學運算 240
9.2.1 Java 表示整數類型的方式 240
9.2.2 Java 中的浮點數 241
9.2.3 Java 的數學函式標準庫 243
9.3 在Java 8 中處理日期和時間 245
9.3.1 介紹Java 8 的日期和時間API 245
9.3.2 查詢 248
9.3.3 調節器 249
9.3.4 過時的日期和時間API 250
9.4 小結 251
第 10 章 處理檔案和I/O 252
10.1 Java 處理I/O 的經典方式 252
10.1.1 檔案 253
10.1.2 流 254
10.1.3 Reader 和Writer 類 255
10.1.4 再次介紹TWR 256
10.1.5 I/O 經典處理方式的問題 257
10.2 Java 處理I/O 的現代方式 257
10.2.1 檔案 258
10.2.2 路徑 259
10.3 NIO 中的通道和緩衝區 261
10.3.1 ByteBuffer 對象 261
10.3.2 映射位元組緩衝區 263
10.4 異步I/O 263
10.4.1 基於Future 接口的方式 264
10.4.2 基於回調的方式 264
10.4.3 監視服務和搜尋 265
10.5 網路 266
10.5.1 HTTP 266
10.5.2 TCP 268
10.5.3 IP 270
第 11 章 類載入、反射和方法句柄 271
11.1 類檔案、類對象和元數據 271
11.1.1 類對象示例 271
11.1.2 類對象和元數據 272
11.2 類載入的各個階段 273
11.2.1 載入 273
11.2.2 驗證 274
11.2.3 準備和解析 274
11.2.4 初始化 275
11.3 安全的編程和類載入 276
11.4 套用類載入知識 277
11.5 反射 280
11.5.1 什麼時候使用反射 280
11.5.2 如何使用反射 280
11.6 動態代理 284
11.7 方法句柄 285
11.7.1 MethodType 對象 285
11.7.2 方法查找 286
11.7.3 調用方法句柄 287
第 12 章 Nashorn 289
12.1 介紹Nashorn 289
12.1.1 在JVM 中運行Java 之外的語言 289
12.1.2 目的 290
12.2 在Nashorn 中執行JavaScript 代碼 290
12.2.1 在命令行中運行 291
12.2.2 使用Nashorn shell 291
12.2.3 在jjs 中編寫腳本 293
12.3 Nashorn 和javax.script 包 297
12.4 Nashorn 的高 級用法 299
12.4.1 在Nashorn 中調用Java 代碼 299
12.4.2 Nashorn 對JavaScript 語言所做的擴展 302
12.4.3 實現細節 303
12.5 小結 304
第 13 章 平台工具和配置 306
13.1 命令行工具 306
13.1.1 javac 307
13.1.2 java 309
13.1.3 jar 310
13.1.4 javadoc 312
13.1.5 jdeps 313
13.1.6 jps 314
13.1.7 jstat 315
13.1.8 jstatd 315
13.1.9 jinfo 316
13.1.10 jstack 317
13.1.11 jmap 317
13.1.12 javap 318
13.2 VisualVM 318
13.3 Java 8 配置 324
13.3.1 目的 324
13.3.2 緊湊配置 325
13.4 小結 328
作者簡介 329
封面介紹 329