發表於2024-12-26
《Java技術手冊(第6版)》旨在幫助有經驗的Java程序員充分使用Java 7和Java 8的功能,但也可供Java開發新手學習。書中提供瞭大量示例,演示瞭如何充分利用現代API和開發過程中的**實踐。這一版進行瞭全麵更新。第1部分快速準確地介紹瞭Java編程語言和Java平颱。第2部分討論瞭核心概念和API,展示瞭如何在Java環境中解決實際的編程任務。
通過學習本書,你將能夠:
掌握全新的語言細節,包括Java 8的變化
使用基本的Java句法學習麵嚮對象編程
研究泛型、枚舉、注解和lambda錶達式
理解麵嚮對象設計中使用的基本技術
學習並發和內存管理,以及二者間錯綜復雜的關係
使用Java集閤,處理常用的數據格式
深入研究Java全新的I/O API,包括異步通道
使用Nashorn在Java虛擬機中執行JavaScript代碼
熟悉OpenJDK中的開發工具
《Java技術手冊(第6版)》為《Java 技術手冊》的升級版,涵蓋全新的Java 7 和Java 8。第1部分介紹Java 編程語言和Java 平颱,主要內容有Java 環境、Java 基本句法、Java 麵嚮對象編程、Java 類型係統、Java的麵嚮對象設計、Java 實現內存管理和並發編程的方式。第2部分通過大量示例來闡述如何在Java 環境中完成實際的編程任務,主要內容有編程和文檔約定,使用Java 集閤和數組,處理常見的數據格式,處理文件和I/O,類加載、反射和方法句柄,Nashorn,以及平颱工具和配置。
Benjamin J. Evans,是jClarity公司的聯閤創始人,倫敦Java用戶組的組織者,JCP執行委員會委員。Java Champion和JavaOne Rockstar榮譽得主。與人閤著有《Java程序員修煉之道》。他經常就Java平颱、性能、並發和相關主題發錶公開演講。
David Flanagan,是Mozilla的高級前端軟件工程師,著有《JavaScriptquanwei指南》《Ruby編程語言》等。博客地址是:davidflanagan.com。
序 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
這是一本 Java 案頭參考書,適閤放在鍵盤旁,編程時隨時翻閱。本書第一部分快速準確地介紹 Java 編程語言和 Java 平颱的核心運行時概念。第二部分通過重要的核心 API 示例來解釋關鍵概念。本書雖然涵蓋 Java 8,但考慮到有些行業還沒有開始使用,所以隻要有需要,我們就會特彆注明 Java 8(部分是 Java 7)引入的功能。本書全麵使用 Java 8 句法,以前可能使用匿名嵌套類的地方會換用 lambda 錶達式。
第6版的變化
本書第 5 版涵蓋 Java 5,而這一版涵蓋 Java 8。本書第 5 版大約在十年前齣版,在那之後,Java 語言和程序員的工作環境都發生瞭重大變化。因此,這一版內容變化很大。其中一個重要的變化是,不再像前幾版那樣對平颱的核心 API 進行詳盡的介紹。
其中一個原因是,在紙質書中印齣數量巨大的核心 API 是不切實際的。而一個更有說服力的原因是,隨時可連的快速互聯網不斷普及,幾乎所有 Java 程序員工作時都會連接互聯網。詳細的 API 文檔參考更適閤放在網上,而不是印在書中。
相應地,這一版刪掉瞭占據第 5 版三分之二篇幅的 API 參考,剩 Java技術手冊(第6版) 下載 mobi epub pdf txt 電子書 格式
Java技術手冊(第6版) 下載 mobi pdf epub txt 電子書 格式 2024
Java技術手冊(第6版) 下載 mobi epub pdf 電子書經典的書,有一本足夠瞭
評分大體上看瞭下目錄纔買的,感覺應該還可以的吧~
評分書有點髒,內容還沒看,oreily一直都挺好的
評分書不錯,很詳細!
評分不錯的書籍 下次還希望可以購買
評分教學參考,經典手冊。
評分一直在京東購買書籍,都是給公司員工看的,質量還是比較靠譜的,送貨速度也很快。
評分蠻好的,相信Oreily的書
評分不錯!六個字
Java技術手冊(第6版) mobi epub pdf txt 電子書 格式下載 2024