注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)寫給大忙人的Java SE 9核心技術(shù)

寫給大忙人的Java SE 9核心技術(shù)

寫給大忙人的Java SE 9核心技術(shù)

定 價(jià):¥128.00

作 者: (美)凱-霍斯特曼
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121342783 出版時(shí)間: 2018-10-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 552 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是經(jīng)典著作《Java核心技術(shù)》(Core Java)作者Cay S. Horstmann的全新力作,書中以關(guān)鍵的核心技術(shù)為著眼點(diǎn),以全局高度提煉語(yǔ)言精髓,以高濃度、高含金量的方式對(duì)Java SE 9的新特性進(jìn)行細(xì)致講解。作者將其沉浸于Java多年的真知灼見蘊(yùn)藏于書中,既扎實(shí)覆蓋Java編程的基礎(chǔ)知識(shí),又獨(dú)具匠心地從Java 9及其重要的新特性之一――模塊發(fā)端,帶領(lǐng)讀者一路探索和實(shí)踐Java 的諸多新特性,諸如JShell、集合類工廠方法、改進(jìn)的Stream API、私有接口、HTTP/2、并發(fā)編程中的增強(qiáng)部分、全新的時(shí)間/日期API,以及腳本語(yǔ)言在Java中的使用。“Impatient”系列圖書風(fēng)格鮮明,除悉數(shù)出自大師之手外,更以文筆輕松、易讀易懂、富含生動(dòng)且可用于實(shí)踐的示例程序(下載源代碼后可直接運(yùn)行)而見長(zhǎng)。這種親身實(shí)踐的講授模式,非常便于讀者加深對(duì)技術(shù)的理解和掌握。初學(xué)者可用來(lái)參考入門;有開發(fā)經(jīng)驗(yàn)者也可用來(lái)鞏固編程核心知識(shí),與時(shí)俱進(jìn)地把握技術(shù)發(fā)展現(xiàn)狀與未來(lái)趨勢(shì)。本書適合有一定Java開發(fā)經(jīng)驗(yàn)的工程師或者架構(gòu)師閱讀,也可以作為Java新特性的參考手冊(cè)。

作者簡(jiǎn)介

  Cay S. Horstmann,是名著《Core Java》的主要作者,同時(shí)也是《寫給大忙人的Java SE 8》(Java SE 8 for the Really Impatient)與《快學(xué)Scala》(Scala for the impatient)兩本書的作者。作為圣荷西州立大學(xué)計(jì)算機(jī)科學(xué)專業(yè)的一名教授,以及一位Java擁護(hù)者,他還編寫了一系列針對(duì)專業(yè)編程人員和計(jì)算機(jī)專業(yè)學(xué)生的書籍。楊謙,IBM高級(jí)軟件開發(fā)工程師,具有10年以上Java商業(yè)開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn),先后參與《SQLite**指南(第2版)》《寫給大忙人看的Java核心技術(shù)》等Java相關(guān)書籍的翻譯。

圖書目錄

第1章 基本的編程結(jié)構(gòu) 1

1.1 第一個(gè)程序 2

1.1.1 "Hello,World"程序解析 2

1.1.2 編譯與運(yùn)行Java程序 3

1.1.3 方法調(diào)用 5

1.1.4 JShell 7

1.2 基本類型 11

1.2.1 有符號(hào)整型 11

1.2.2 浮點(diǎn)類型 12

1.2.3 char型 13

1.2.4 布爾型 14

1.3 變量 14

1.3.1 變量的聲明 14

1.3.2 名稱 14

1.3.3 初始化 15

1.3.4 常量 15

1.4 算術(shù)操作 17

1.4.1 賦值 18

1.4.2 基本運(yùn)算 18

1.4.3 數(shù)學(xué)方法 20

1.4.4 數(shù)字類型轉(zhuǎn)換 21

1.4.5 關(guān)系操作符和邏輯操作符 22

1.4.6 大數(shù) 24

1.5 字符串 24

1.5.1 字符串的連接 25

1.5.2 子字符串 26

1.5.3 字符串比較 26

1.5.4 數(shù)字與字符串轉(zhuǎn)換 28

1.5.5 String類API 29

1.5.6 編碼點(diǎn)和編碼單元 31

1.6 輸入與輸出 33

1.6.1 讀取輸入 33

1.6.2 格式化輸出 35

1.7 控制流 37

1.7.1 分支 37

1.7.2 循環(huán) 39

1.7.3 跳出循環(huán)與繼續(xù)循環(huán) 41

1.7.4 局部變量作用域 43

1.8 數(shù)組和數(shù)組列表 44

1.8.1 使用數(shù)組 44

1.8.2 構(gòu)造數(shù)組 45

1.8.3 數(shù)組列表 47

1.8.4 基本類型包裝類 48

1.8.5 增強(qiáng)的for循環(huán) 48

1.8.6 數(shù)組與數(shù)組列表的復(fù)制 49

1.8.7 數(shù)組算法 50

1.8.8 命令行參數(shù) 51

1.8.9 多維數(shù)組 52

1.9 功能分解 55

1.9.1 靜態(tài)方法的聲明與調(diào)用 55

1.9.2 數(shù)組參數(shù)與返回值 55

1.9.3 可變參數(shù) 56

練習(xí) 57

第2章 面向?qū)ο缶幊?nbsp;61

2.1 使用對(duì)象 62

2.1.1 訪問(wèn)器方法和修改器方法 64

2.1.2 對(duì)象引用 65

2.2 實(shí)現(xiàn)類 67

2.2.1 實(shí)例變量 67

2.2.2 方法頭 67

2.2.3 方法體 68

2.2.4 實(shí)例方法調(diào)用 69

2.2.5 this引用 69

2.2.6 值調(diào)用 70

2.3 構(gòu)造對(duì)象 72

2.3.1 實(shí)現(xiàn)構(gòu)造函數(shù) 72

2.3.2 重載 73

2.3.3 調(diào)用另一個(gè)構(gòu)造函數(shù) 74

2.3.4 默認(rèn)初始化 74

2.3.5 實(shí)例變量的初始化 75

2.3.6 final實(shí)例變量 76

2.3.7 無(wú)參構(gòu)造函數(shù) 76

2.4 靜態(tài)變量和方法 77

2.4.1 靜態(tài)變量 77

2.4.2 靜態(tài)常量 78

2.4.3 靜態(tài)初始?jí)K 79

2.4.4 靜態(tài)方法 80

2.4.5 工廠方法 81

2.5 包 82

2.5.1 包的聲明 82

2.5.2 jar命令 83

2.5.3 類路徑 84

2.5.4 包訪問(wèn)權(quán)限 86

2.5.5 導(dǎo)入類 87

2.5.6 靜態(tài)導(dǎo)入 88

2.6 嵌套類 89

2.6.1 靜態(tài)嵌套類 89

2.6.2 內(nèi)部類 91

2.6.3 內(nèi)部類的特殊語(yǔ)法 93

2.7 文檔注釋 95

2.7.1 插入注釋 95

2.7.2 類注釋 96

2.7.3 方法注釋 97

2.7.4 變量注釋 97

2.7.5 通用注釋 98

2.7.6 鏈接 98

2.7.7 包、模塊和概述注釋 99

2.7.8 注釋的提取 99

練習(xí) 100

第3章 接口和lambda表達(dá)式 105

3.1 接口 106

3.1.1 聲明接口 106

3.1.2 實(shí)現(xiàn)接口 107

3.1.3 轉(zhuǎn)換為接口類型 109

3.1.4 強(qiáng)制類型轉(zhuǎn)換和instanceof操作符 109

3.1.5 繼承接口 .110

3.1.6 實(shí)現(xiàn)多個(gè)接口 111

3.1.7 常量 111

3.2 靜態(tài)方法、默認(rèn)方法和私有方法 112

3.2.1 靜態(tài)方法 112

3.2.2 默認(rèn)方法 112

3.2.3 解決默認(rèn)方法沖突的問(wèn)題 113

3.2.4 私有方法 115

3.3 接口示例 115

3.3.1 Comparable接口 115

3.3.2 Comparator接口 117

3.3.3 Runnable接口 118

3.3.4 UI回調(diào) 119

3.4 lambda表達(dá)式 120

3.4.1 lambda表達(dá)式語(yǔ)法 121

3.4.2 函數(shù)式接口 122

3.5 方法引用和構(gòu)造函數(shù)引用 123

3.5.1 方法引用 123

3.5.2 構(gòu)造函數(shù)引用 125

3.6 使用lambda表達(dá)式 126

3.6.1 實(shí)現(xiàn)延遲執(zhí)行 126

3.6.2 選擇函數(shù)式接口 127

3.6.3 實(shí)現(xiàn)自己的函數(shù)式接口 129

3.7 lambda表達(dá)式和變量作用域 130

3.7.1 lambda表達(dá)式的作用域 130

3.7.2 訪問(wèn)來(lái)自閉合作用域的變量 131

3.8 高階函數(shù) 133

3.8.1 返回函數(shù)的方法 134

3.8.2 修改函數(shù)的方法 134

3.8.3 Comparator方法 135

3.9 局部類和匿名類 136

3.9.1 局部類 136

3.9.2 匿名類 137

練習(xí) . 138

第4章 繼承與反射 143

4.1 繼承一個(gè)類 144

4.1.1 父類與子類 144

4.1.2 定義和繼承子類方法 145

4.1.3 方法覆蓋 145

4.1.4 子類的構(gòu)造 147

4.1.5 父類賦值 147

4.1.6 轉(zhuǎn)換 148

4.1.7 final方法和類 149

4.1.8 抽象方法和類 149

4.1.9 受保護(hù)訪問(wèn) 150

4.1.10 匿名子類 151

4.1.11 繼承和默認(rèn)方法 152

4.1.12 帶super的方法表達(dá)式 153

4.2 Object:終極父類 153

4.2.1 toString方法 154

4.2.2 equals方法 156

4.2.3 hashCode方法 159

4.2.4 克隆對(duì)象 160

4.3 枚舉 163

4.3.1 枚舉方法 164

4.3.2 構(gòu)造函數(shù)、方法和域 165

4.3.3 實(shí)例的實(shí)現(xiàn)體 165

4.3.4 靜態(tài)成員 166

4.3.5 switch枚舉對(duì)象 167

4.4 運(yùn)行時(shí)類型信息和資源 168

4.4.1 Class類 168

4.4.2 資源加載 172

4.4.3 類加載器 172

4.4.4 上下文類加載器 174

4.4.5 服務(wù)加載器 176

4.5 反射 178

4.5.1 枚舉類成員 178

4.5.2 對(duì)象檢查 179

4.5.3 方法調(diào)用 180

4.5.4 對(duì)象構(gòu)造 181

4.5.5 JavaBeans 182

4.5.6 使用數(shù)組 183

4.5.7 代理 185

練習(xí) . 187

第5章 異常、斷言和日志處理 191

5.1 異常處理 192

5.1.1 異常拋出 192

5.1.2 異常繼承層次 193

5.1.3 已檢查異常的聲明 195

5.1.4 異常捕獲 196

5.1.5 try-with-resources語(yǔ)句 197

5.1.6 finally子句 199

5.1.7 異常重拋和鏈接 200

5.1.8 未捕獲的異常和堆棧蹤跡 202

5.1.9 Objects.requireNonNull方法 203

5.2 斷言 204

5.2.1 使用斷言 205

5.2.2 啟用和禁用斷言 205

5.3 記錄日志 206

5.3.1 采用日志記錄器 206

5.3.2 日志記錄器 207

5.3.3 日志級(jí)別 207

5.3.4 其他日志記錄方法 208

5.3.5 日志記錄的配置項(xiàng) 210

5.3.6 日志處理器 211

5.3.7 過(guò)濾器和格式化器 214

練習(xí) 215

第6章 泛型編程 219

6.1 泛型類 220

6.2 泛型方法 221

6.3 類型限定 222

6.4 類型變異和通配符 223

6.4.1 子類型通配符 224

6.4.2 父類型通配符 225

6.4.3 帶類型變量的通配符 226

6.4.4 無(wú)限定通配符 228

6.4.5 通配符捕獲 228

6.5 Java虛擬機(jī)中的泛型 229

6.5.1 類型擦除 229

6.5.2 轉(zhuǎn)換插入 230

6.5.3 橋方法 230

6.6 泛型約束 232

6.6.1 無(wú)基本類型參數(shù) 232

6.6.2 所有類型在運(yùn)行時(shí)都是原始的 233

6.6.3 不能實(shí)例化類型變量 234

6.6.4 不能構(gòu)造參數(shù)化類型的數(shù)組 236

6.6.5 靜態(tài)上下文中的類類型變量不是有效的 237

6.6.6 類型擦除后的方法可能不沖突 238

6.6.7 異常與泛型 239

6.7 反射與泛型 240

6.7.1 Class<T>類 240

6.7.2 虛擬機(jī)中的泛型類型信息 242

練習(xí) 243

第7章 集合 249

7.1 集合框架概要 249

7.2 迭代器 254

7.3 set 256

7.4 map 257

7.5 其他集合 261

7.5.1 Properties 261

7.5.2 位組 262

7.5.3 枚舉set和枚舉map 264

7.5.4 棧、隊(duì)列、雙端隊(duì)列、優(yōu)先級(jí)隊(duì)列 264

7.5.5 弱哈希映射表 266

7.6 視圖 266

7.6.1 小集合 267

7.6.2 范圍 268

7.6.3 不可修改的視圖 268

練習(xí) . 269

第8章 Stream. 273

8.1 從迭代到Stream操作 274

8.2 創(chuàng)建Stream 275

8.3 filter、map和flatMap方法 277

8.4 提取子流和組合流 279

8.5 其他流轉(zhuǎn)換 280

8.6 簡(jiǎn)單歸約 281

8.7 Optional類型 282

8.7.1 如何使用Optional類型值 282

8.7.2 如何不使用Optional類型值 284

8.7.3 創(chuàng)建Optional類型值 284

8.7.4 使用flatMap來(lái)組合可選值函數(shù) 285

8.7.5 將Optional轉(zhuǎn)變?yōu)榱?nbsp;286

8.8 收集結(jié)果 287

8.9 將結(jié)果收集到map中 289

8.10 分組和分片 290

8.11 下游收集器 291

8.12 歸約操作 294

8.13 基本類型流 296

8.14 并行流 297

練習(xí) 300

第9章 輸入與輸出處理 305

9.1 輸入/輸出流、Reader和Writer 306

9.1.1 獲取流對(duì)象 306

9.1.2 讀取字節(jié) 307

9.1.3 寫字節(jié) 308

9.1.4 字符編碼 308

9.1.5 文本輸入 311

9.1.6 文本輸出 313

9.1.7 讀/寫二進(jìn)制數(shù)據(jù) 314

9.1.8  隨機(jī)存取文件 315

9.1.9 內(nèi)存映射文件 315

9.1.10 文件鎖 316

9.2 路徑、文件和目錄 317

9.2.1 路徑 317

9.2.2 創(chuàng)建文件和目錄 319

9.2.3 復(fù)制、移動(dòng)和刪除文件 320

9.2.4 訪問(wèn)目錄內(nèi)容 321

9.2.5 ZIP文件系統(tǒng) 324

9.3 HTTP連接 325

9.3.1 URLConnection類和HttpURLConnection類 326

9.3.2 HTTP Client API 327

9.4 正則表達(dá)式 330

9.4.1 正則表達(dá)式概述 330

9.4.2 找到一個(gè)匹配 334

9.4.3 找到所有匹配 335

9.4.4 分組 336

9.4.5 以分隔符號(hào)分割 337

9.4.6 替換匹配結(jié)果 338

9.4.7 標(biāo)記 339

9.5 序列化 339

9.5.1 Serializable接口 340

9.5.2 瞬態(tài)實(shí)例變量 342

9.5.3 readObject和writeObject方法 342

9.5.4 readResolve和writeReplace方法 343

9.5.5 版本化 345

練習(xí) . 346

第10章 并發(fā)編程 351

10.1 并發(fā)任務(wù) 352

10.1.1 運(yùn)行任務(wù) 352

10.1.2 Future 354

10.2 異步計(jì)算 357

10.2.1 可完成的Future 357

10.2.2 組合可完成的Future 359

10.2.3 UI回調(diào)中的長(zhǎng)時(shí)間運(yùn)行任務(wù) 362

10.3 線程安全 364

10.3.1 可見性 364

10.3.2 競(jìng)爭(zhēng)條件 366

10.3.3 安全并發(fā)的策略 369

10.3.4 不可變類 369

10.4 并行算法 370

10.4.1 并行流 370

10.4.2 并行數(shù)組操作 371

10.5 線程安全的數(shù)據(jù)結(jié)構(gòu) 372

10.5.1 ConcurrentHashMap . 373

10.5.2 阻塞隊(duì)列 374

10.5.3 其他線程安全的數(shù)據(jù)結(jié)構(gòu) 375

10.6 原子計(jì)數(shù)器和累加器 376

10.7 鎖和條件 379

10.7.1 鎖 379

10.7.2 synchronized關(guān)鍵字 380

10.7.3 條件等待 382

10.8 線程 385

10.8.1 啟動(dòng)線程 385

10.8.2 線程中斷 386

10.8.3 線程變量 388

10.8.4 線程的其他屬性 388

10.9 進(jìn)程 389

10.9.1 構(gòu)建進(jìn)程 389

10.9.2 運(yùn)行進(jìn)程 391

10.9.3 ProcessHandle 392

練習(xí) . 393

第11章 注解. 401

11.1 使用注解 402

11.1.1 注解元素 402

11.1.2 多注解和重復(fù)注解 403

11.1.3 注解聲明 404

11.1.4 注解類型用途 405

11.1.5 明確接收者 406

11.2 定義注解 408

11.3 標(biāo)準(zhǔn)注解 410

11.3.1 編譯相關(guān)的注解 411

11.3.2 資源管理相關(guān)的注解 412

11.3.3 元注解 412

11.4 運(yùn)行時(shí)注解處理 414

11.5 源碼級(jí)注解處理 418

11.5.1 注解處理器 418

11.5.2 語(yǔ)言模型API 419

11.5.3 使用注解生成源碼 419

練習(xí) 423

第12章 日期和時(shí)間API 427

12.1 時(shí)間線 428

12.2 本地日期 430

12.3 日期調(diào)整器 433

12.4 本地時(shí)間 435

12.5 時(shí)區(qū)時(shí)間 436

12.6 格式化和解析 439

12.7 應(yīng)對(duì)遺留代碼 442

練習(xí) . 443

第13章 國(guó)際化 447

13.1 本地化 448

13.1.1 指定本地化 448

13.1.2 默認(rèn)的locale 451

13.1.3 顯示名稱 452

13.2 數(shù)字格式化 453

13.3 貨幣符號(hào) 454

13.4 日期和時(shí)間格式化 455

13.5 排序和規(guī)范化 457

13.6 消息格式化 459

13.7 資源束 461

13.7.1 組織資源束 462

13.7.2 資源束類 464

13.8 字符編碼 465

13.9 首選項(xiàng) 466

練習(xí) 468

第14章 編譯與腳本 471

14.1 編譯器API 471

14.1.1 調(diào)用編譯器 472

14.1.2 啟動(dòng)編譯任務(wù) 472

14.1.3 從內(nèi)存讀取源文件 473

14.1.4 向內(nèi)存寫入字節(jié)碼 474

14.1.5 捕獲診斷信息 476

14.2 腳本API 476

14.2.1 獲取腳本引擎 476

14.2.2 綁定 477

14.2.3 重定向輸入與輸出 478

14.2.4 調(diào)用腳本函數(shù)和方法 479

14.2.5 編譯腳本 480

14.3 Nashorn腳本引擎 481

14.3.1 從命令行運(yùn)行Nashorn. 481

14.3.2 調(diào)用getter、setter和重載方法 482

14.3.3 構(gòu)造Java對(duì)象 483

14.3.4 JavaScript和Java中的字符串 485

14.3.5 數(shù)字 485

14.3.6 使用數(shù)組 486

14.3.7 列表與映射 487

14.3.8 lambda表達(dá)式 488

14.3.9 繼承Java類與實(shí)現(xiàn)Java接口 489

14.3.10 異常 491

14.4 shell腳本與Nashorn 491

14.4.1 執(zhí)行shell命令 492

14.4.2 字符串插值 492

14.4.3 腳本輸入 493

練習(xí) 494

第15章 Java平臺(tái)模塊系統(tǒng) 499

15.1 模塊的概念 500

15.2 模塊命名 501

15.3 模塊化“Hello, World!”程序 502

15.4 引入模塊 504

15.5 導(dǎo)出包 506

15.6 模塊化和反射訪問(wèn) 510

15.7 模塊化的JAR . 513

15.8 自動(dòng)模塊和未命名模塊 515

15.9 用于遷移的命令行標(biāo)識(shí) 516

15.10 傳遞和靜態(tài)引入 518

15.11 限定導(dǎo)入和打開 520

15.12 服務(wù)加載 521

15.13 模塊化用的工具 522

練習(xí) 525

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)