歡迎光臨中圖網 請 | 注冊

On Java 中文版 基礎卷

出版社:人民郵電出版社出版時間:2022-03-01
開本: 23cm 頁數: 28,811頁
中 圖 價:¥63.6(4.9折) 定價  ¥129.8 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>

On Java 中文版 基礎卷 版權信息

On Java 中文版 基礎卷 本書特色

基于Java 8、11、17,Thinking in系列書籍作者Bruce Eckel重講Java的編程思想! 1.查漏寶典:涵蓋Java關鍵特性的設計原理和應用方法 2.避坑指南:以產業(yè)實踐的得失為鑒,指明Java開發(fā)者不可不知的設計陷阱 3.小白大神皆可讀:適合不同層次的Java開發(fā)者反復翻閱 4.大咖領讀:3位一線技術專家?guī)悴鸾鈺须y點內容,總結Java開發(fā)精要

On Java 中文版 基礎卷 內容簡介

本書是Bruce Ecke1時隔15年, 繼Thinking in Java之后又一*新力作, 基于Java的三個長期支持版 (Java 8、11、17) , 講解Java的核心語法, 并對Java的核心變化進行詳細描述。全書內容通俗易懂, 配合示例講解逐步深入, 將抽象的概念簡單化, 并結合實際開發(fā)需要, 從語言底層設計出發(fā), 有效幫讀者規(guī)避一些常見的開發(fā)陷阱。主體部分共22章, 內容包含對象\操作符控制流\初始化和清理\封裝\復用\多態(tài)\接口\內部類集合\函數式編程流式編程\異常\代碼校驗\文件\字符串\泛型等。

On Java 中文版 基礎卷 目錄

第 1章 什么是對象 / 001

1.1抽象的歷程 / 002

1.2 對象具有接口 / 003

1.3 對象可以提供服務 / 005

1.4 隱藏的實現 / 006

1.5 復用實現 / 008

1.6 繼承 / 008

is-a關系與is-like-a關系 / 012

1.7 多態(tài) / 013

1.8 單根層次結構 / 016

1.9 集合 / 017

參數化類型(泛型) / 018

1.10 對象的創(chuàng)建和生命周期 / 019

1.11 異常處理 / 021

1.12 總結 / 022

第 2章 安裝Java和本書示例 / 023

2.1 編輯器 / 023

2.2 shell / 024

2.2.1 運行shell / 024

2.2.2 目錄(文件夾) / 025

2.2.3 shell基礎操作 / 025

2.3 安裝Java / 026

2.4 確認安裝成功 / 027

2.5 安裝和運行本書示例 / 028

Gradle基礎任務 / 028

第3章 對象無處不在 / 029

3.1 通過引用操作對象 / 030

3.2 必須創(chuàng)建所有對象 / 031

3.2.1 數據保存在哪里 / 031

3.2.2 特殊情況:基本類型 / 032

3.2.3 Java中的數組 / 034

3.3 注釋 / 034

3.4 無須銷毀對象 / 035

3.4.1 作用域 / 035

3.4.2 對象的作用域 / 036

3.5 使用class關鍵字創(chuàng)建新類型 / 037

字段 / 037

3.6 方法、參數以及返回值 / 039

參數列表 / 039

3.7 編寫Java程序 / 041

3.7.1 名稱可見性 / 041

3.7.2 使用其他組件 / 042

3.7.3 static關鍵字 / 043

3.8 你的第 一個Java程序 / 045

編譯和運行 / 047

3.9 編程風格 / 048

3.10 總結 / 049

第4章 操作符 / 050

4.1 使用Java操作符 / 050

4.2 優(yōu)先級 / 051

4.3 賦值 / 051

方法調用中的別名 / 053

4.4 算術操作符 / 054

一元加操作符和一元減操作符 / 055

4.5 自動遞增和自動遞減 / 056

4.6 關系操作符 / 057

測試對象是否相等 / 057

4.7 邏輯操作符 / 061

短路 / 062

4.8 字面量 / 063

4.8.1 字面量里的下劃線 / 065

4.8.2 科學記數法(又稱“指數記數法”) / 066

4.9 按位操作符 / 067

4.10 移位操作符 / 067

4.11 三元操作符 / 071

4.12 字符串操作符+和+= / 072

4.13 使用操作符時常犯的錯誤 / 073

4.14 類型轉換操作符 / 074

4.14.1 截尾和舍入 / 075

4.14.2 提升 / 076

4.15 Java沒有sizeof() / 076

4.16 操作符小結 / 076

4.17 總結 / 081

第5章 控制流 / 082

5.1 true和false / 082

5.2 if-else / 083

5.3 迭代語句 / 084

5.3.1 do-while / 085

5.3.2 for / 085

5.3.3 逗號操作符 / 086

5.4 for-in語法 / 087

5.5 return / 089

5.6 break和continue / 090

5.7 臭名昭著的goto / 091

5.8 switch / 095

5.9 字符串作為選擇器 / 096

5.10 總結 / 098

第6章 初始化和清理 / 099

6.1 用構造器保證初始化 / 100

6.2 方法重載 / 102

6.2.1 區(qū)分重載的方法 / 103

6.2.2 使用基本類型的重載 / 104

6.2.3 通過返回值區(qū)分重載方法 / 107

6.3 無參構造器 / 108

6.4 this關鍵字 / 109

6.4.1 在構造器中調用構造器 / 111

6.4.2 static的含義 / 112

6.5 清理:終結和垃圾收集 / 113

6.5.1 finalize()的作用 / 114

6.5.2 你必須執(zhí)行清理 / 115

6.5.3 終止條件 / 115

6.5.4 垃圾收集器的工作原理 / 117

6.6 成員初始化 / 120

指定初始化 / 121

6.7 構造器初始化 / 122

6.7.1 初始化順序 / 123

6.7.2 靜態(tài)數據的初始化 / 124

6.7.3 顯式的靜態(tài)初始化 / 126

6.7.4 非靜態(tài)實例初始化 / 127

6.8 數組初始化 / 128

6.8.1 動態(tài)數組創(chuàng)建 / 129

6.8.2 可變參數列表 / 132

6.9 枚舉類型 / 136

6.10 新特性:局部變量類型推斷 / 138

6.11 總結 / 140

第 7章 實現隱藏 / 141

7.1 package:庫單元 / 142

7.1.1 代碼組織 / 144

7.1.2 創(chuàng)建獨一無二的包名 / 145

7.1.3 定制工具庫 / 148

7.1.4 用import來改變行為 / 149

7.1.5 關于包的忠告 / 150

7.2 Java訪問權限修飾符 / 150

7.2.1 包訪問 / 150

7.2.2 public:接口訪問權限 / 151

7.2.3 private:你無法訪問它 / 153

7.2.4 protected:繼承訪問權限 / 154

7.2.5 包訪問權限與公共構造器 / 155

7.3 接口和實現 / 156

7.4 類的訪問權限 / 157

7.5 新特性:模塊 / 160

7.6 總結 / 162

第8章 復用 / 164

8.1 組合語法 / 165

8.2 繼承語法 / 167

初始化基類 / 169

8.3 委托 / 171

8.4 組合與繼承相結合 / 173

8.4.1 確保正確的清理 / 175

8.4.2 名稱隱藏 / 177

8.5 選擇組合還是繼承 / 178

8.6 protected關鍵字 / 180

8.7 向上轉型 / 181

再論組合與繼承 / 182

8.8 final關鍵字 / 182

8.8.1 final數據 / 183

8.8.2 final方法 / 186

8.8.3 final類 / 188

8.8.4 關于final的忠告 / 189

8.9 初始化及類的加載 / 190

繼承與初始化 / 190

8.10 總結 / 191

第9章 多態(tài) / 193

9.1 再論向上轉型 / 194

忘記對象類型 / 195

9.2 難點 / 196

9.2.1 方法調用綁定 / 197

9.2.2 產生正確的行為 / 197

9.2.3 可擴展性 / 201

9.2.4 陷阱:“重寫”private方法 / 203

9.2.5 陷阱:字段與靜態(tài)方法 / 205

9.3 構造器和多態(tài) / 206

9.3.1 構造器的調用順序 / 206

9.3.2 繼承與清理 / 208

9.3.3 構造器內部的多態(tài)方法行為 / 213

9.4 協變返回類型 / 215

9.5 用繼承進行設計 / 216

9.5.1 替換與擴展 / 217

9.5.2 向下轉型與反射 / 218

9.6 總結 / 220

第 10章 接口 / 221

10.1 抽象類和抽象方法 / 221

10.2 接口定義 / 226

10.2.1 默認方法 / 228

10.2.2 多重繼承 / 230

10.2.3 接口中的靜態(tài)方法 / 233

10.2.4 作為接口的Instrument / 234

10.3 抽象類與接口 / 236

10.4 完全解耦 / 237

10.5 組合多個接口 / 242

10.6 通過繼承來擴展接口 / 244

組合接口時的名稱沖突 / 245

10.7 適配接口 / 246

10.8 接口中的字段 / 249

初始化接口中的字段 / 249

10.9 嵌套接口 / 250

10.10 接口和工廠 / 252

10.11 新特性:接口的private方法 / 255

10.12 新特性:密封類和密封接口 / 256

10.13 總結 / 259

第 11章 內部類 / 260

11.1 創(chuàng)建內部類 / 261

11.2 到外部類的鏈接 / 262

11.3 使用.this和.new / 264

11.4 內部類和向上轉型 / 266

11.5 在方法和作用域中的內部類 / 267

11.6 匿名內部類 / 269

11.7 嵌套類 / 273

11.7.1 接口中的類 / 274

11.7.2 從多層嵌套的內部類中訪問外部成員 / 275

11.8 為什么需要內部類 / 276

11.8.1 閉包與回調 / 278

11.8.2 內部類與控制框架 / 281

11.9 繼承內部類 / 287

11.10 內部類可以被重寫嗎 / 287

11.11 局部內部類 / 289

11.12 內部類標識符 / 291

11.13 總結 / 291

第 12章 集合 / 292

12.1 泛型和類型安全的集合 / 293

新特性:類型推斷和泛型 / 296

12.2 基本概念 / 297

12.3 添加一組元素 / 298

12.4 打印集合 / 300

12.5 List / 302

12.6 Iterator / 306

ListIterator / 309

12.7 LinkedList / 310

12.8 Stack / 312

12.9 Set / 314

12.10 Map / 318

12.11 新特性:記錄(record)類型 / 321

12.12 Queue / 325

PriorityQueue / 327

12.13 Collection和Iterator的對比 / 328

12.14 for-in和迭代器 / 332

適配器方法慣用法 / 334

12.15 總結 / 338

第 13章 函數式編程 / 342

13.1 舊方式與新方式 / 344

13.2 lambda表達式 / 346

遞歸 / 348

13.3 方法引用 / 349

13.3.1 Runnable / 350

13.3.2 未綁定方法引用 / 351

13.3.3 構造器方法引用 / 353

13.4 函數式接口 / 354

13.4.1 帶有更多參數的函數式接口 / 361

13.4.2 解決缺乏基本類型函數式接口的問題 / 361

13.5 高階函數 / 363

13.6 閉包 / 364

內部類作為閉包 / 369

13.7 函數組合 / 370

13.8 柯里化和部分求值 / 372

13.9 純函數式編程 / 373

13.10 總結 / 374

第 14章 流 / 375

14.1 Java 8對流的支持 / 377

14.2 流的創(chuàng)建 / 378

14.3 中間操作 / 388

14.4 Optional類型 / 395

14.5 終結操作 / 405

14.6 小結 / 415

第 15章 異常 / 416

15.1 概念 / 417

15.2 基本的異常 / 418

異常參數 / 419

15.3 捕捉異常 / 420

15.4 創(chuàng)建自己的異常 / 421

異常與日志記錄 / 424

15.5 異常說明 / 427

15.6 捕捉任何異常 / 428

15.7 標準Java異常 / 439

特例:RuntimeException / 440

15.8 新特性:更好的NullPointerException報告機制 / 441

15.9 使用finally執(zhí)行清理 / 443

15.10 異常的約束 / 449

15.11 構造器 / 452

15.12 try-with-resources語句 / 456

15.13 異常匹配 / 464

15.14 其他可選方式 / 465

15.15 異常使用指南 / 473

15.16 小結 / 473

附記 異常的奇異世界 / 474

第 16章 代碼校驗 / 476

16.1 測試 / 476

16.2 前置條件 / 482

16.3 測試驅動開發(fā) / 498

測試驅動與測試優(yōu)先 / 505

16.4 日志 / 505

日志級別 / 507

16.5 調試 / 508

16.6 基準測試 / 511

16.7 分析與優(yōu)化 / 520

優(yōu)化指南 / 520

16.8 樣式檢查 / 521

16.9 靜態(tài)錯誤分析 / 521

16.10 代碼審查 / 521

16.11 結對編程 / 522

16.12 重構 / 522

重構的基礎 / 522

16.13 持續(xù)集成 / 523

16.14 總結 / 525

第 17章 文件 / 526

17.1 文件和目錄路徑 / 527

17.2 目錄 / 533

17.3 文件系統 / 537

17.4 監(jiān)聽Path / 538

17.5 查找文件 / 541

17.6 讀寫文件 / 543

17.7 小結 / 546

第 18章 字符串 / 547

18.1 不可變的字符串 / 547

18.2 重載+與StringBuilder / 548

18.3 無意識的遞歸 / 553

18.4 對字符串的操作 / 555

18.5 格式化輸出 / 556

18.6 新特性:文本塊 / 563

18.7 正則表達式 / 565

18.8 掃描輸入 / 584

18.9 StringTokenizer / 587

18.10 總結 / 588

第 19章 反射 / 589

19.1 為什么需要反射 / 589

19.2 Class對象 / 592

19.3 轉型前檢查 / 603

19.4 注冊工廠 / 614

19.5 Instanceof與Class的等價性 / 616

19.6 運行時的類信息 / 618

類方法提取器 / 619

19.7 動態(tài)代理 / 621

19.8 使用Optional / 625

19.9 接口和類型信息 / 633

19.10 總結 / 639

第 20章 泛型 / 641

20.1 和C++的對比 / 642

20.2 簡單泛型 / 643

20.3 泛型接口 / 650

20.4 泛型方法 / 653

20.5 構建復雜模型 / 663

20.6 類型擦除的奧秘 / 665

20.7 對類型擦除的補償 / 676

20.8 邊界 / 686

20.9 通配符 / 689

20.10 問題 / 707

20.11 自限定類型 / 714

20.12 動態(tài)類型安全 / 721

20.13 異常 / 722

20.14 混型 / 724

20.15 潛在類型機制 / 730

20.16 對于缺少(直接的)潛在類型機制的補償 / 736

20.17 Java 8中的輔助潛在類型機制 / 741

使用Supplier的泛型方法 / 743

20.18 總結:轉型真的這么糟糕嗎? / 745

延伸閱讀 / 747

第 21 章 數組 / 748

21.1 數組為何特殊 / 749

一個用于顯示數組的常用工具程序 / 751

21.2 數組是一等對象 / 752

21.3 返回數組 / 755

21.4 多維數組 / 757

21.5 數組和泛型 / 761

21.6 Arrays.fill() / 764

21.7 Arrays.setAll() / 765

21.8 增量生成器 / 766

21.9 隨機數生成器 / 775

21.10 泛型和基本類型數組 / 783

21.11 修改已有的數組元素 / 787

21.12 關于數組并行 / 788

21.13 數組實用工具 / 790

21.14 數組復制 / 791

21.15 數組比較 / 794

21.16 流和數組 / 795

21.17 數組排序 / 796

21.18 用Arrays.binarySearch()進行二分查找 / 802

21.19 用parallelPrefix()進行累積計算 / 804

21.20 總結 / 806

補充內容 / 809

積極看待C++與Java的

遺產 / 810


展開全部

On Java 中文版 基礎卷 作者簡介

【作者簡介】 布魯斯.?藸枺˙ruce Eckel) C++ 標準委員會的創(chuàng)始成員之一,技術顧問,專注于編程語言和軟件系統設計方面的研究,;钴S于世界各大技術研討會。他自 1986 年以來,累計出版 Thinking in C++、Thinking in Java、On Java 8 等十余部計算機,曾多次榮獲 Jolt 最佳圖書獎(被譽為“軟件業(yè)界的奧斯卡”),其代表作 Thinking in Java 被譯為中文、日文、俄文、意大利文、波蘭文、韓文等十幾種語言,在世界范圍內產生了廣泛影響。 【譯者簡介】 陳德偉,深耕軟件研發(fā)十余年,目前專注于金融系統研發(fā)工作。 臧秀濤,InfoQ 前會議內容總編,F于濤思數據負責開源時序數據庫 TDengine 的社區(qū)生態(tài)。代表譯作有《Java性能權威指南》《C++ API 設計》《Groovy 程序設計》等。 孫卓,現任職于百度健康研發(fā)中心,百度技術委員會成員。從業(yè)十余年,熟悉 Java、PHP 等語言體系,同時也是一名語言文字愛好者。 秦彬,現任騰訊游戲高級項目經理,曾翻譯《體驗引擎》《游戲設計夢工廠》《游戲制作的本質》等書。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服