Java核心技術(shù) 第11版

2021-04-27 14:35 更新

[美] 凱·S·霍斯特曼(Cay,S,Horstmann) 著

  • 出版社: 機械工業(yè)出版社
  • ISBN:12800420
  • 版次:11
  • 商品編碼:12800420
  • 品牌:機工出版
  • 包裝:平裝
  • 叢書名: Java核心技術(shù)系列
  • 開本:16開
  • 出版時間:2020-01-01
  • 用紙:膠版紙


點此購買


編輯推薦

適讀人群 :使用Java技術(shù)進行實際項目開發(fā)的編程人員

Java領(lǐng)域極具影響力和價值的著作之一,與《Java編程思想》齊名,10余年全球暢銷不衰,廣受好評。

全新原書中文第11版!針對Java SE 9、10、11全面更新,系統(tǒng)全面講解Java語言的核心概念、語法、重要特性和開發(fā)方法,包含大量案例,實踐性強。

卷I:主要介紹Java語言基礎(chǔ)知識的專業(yè)級詳解;

卷II:主要介紹軟件開發(fā)需要了解的高級主題。


內(nèi)容簡介

本書由擁有20多年教學與研究經(jīng)驗的資深Java技術(shù)專家撰寫(獲Jolt大獎),是程序員的優(yōu)選Java指南。本版針對Java SE 9、10和 11全面更新?!揪?共12章】

☉第1章概述Java語言的特色功能;

☉第2章詳細論述如何下載和安裝JDK以及本書的程序示例;

☉第3章開始討論Java 語言,包括變量、循環(huán)和簡單的函數(shù);

☉第4章介紹面向?qū)ο髢纱蠡袠O要的一個概念——封裝,以及Java語言實現(xiàn)封裝的機制,即類與方法;

☉第5章介紹面向?qū)ο蟮牧硪粋€重要概念——繼承,繼承使程序員可以使用現(xiàn)有的類,并根據(jù)需要進行修改;

☉第6章展示如何使用Java的接口(可幫助你充分獲得Java的完全面向?qū)ο蟪绦蛟O(shè)計能力)、lambda表達式(用來表述可以在以后某個時間點執(zhí)行的代碼塊)和內(nèi)部類;

☉第7章討論異常處理,并給出大量實用的調(diào)試技巧;

☉第8章概要介紹泛型程序設(shè)計,使程序更可讀、更安全;

☉第9章討論Java平臺的集合框架,以及如何充分利用內(nèi)建的標準集合;

☉第10章介紹GUI程序設(shè)計(包括如何建立窗口、如何在窗口中繪圖、如何利用幾何圖形繪圖、如何采用多種字體格式化文本,以及如何顯示圖像)和編寫代碼來響應(yīng)事件(如鼠標點擊事件和按鍵事件);

☉第11章詳細討論Swing GUI工具包,以建立跨平臺的圖形用戶界面,包括各種按鈕、文本組件、邊框、滑塊、列表框、菜單以及對話框的有關(guān)內(nèi)容;

☉第12章討論并發(fā)。本書最后還有一個附錄,其中列出了Java語言的保留字。

【卷2共12章】

☉第1章介紹了Java中的流庫;

☉第2章涵蓋輸入/輸出處理,探討了Java 11中引入的廣受歡迎的改進和優(yōu)化;

☉第3章介紹了XML,展示如何解析XML文件、生成XML和使用XSL轉(zhuǎn)換;

☉第4章講解了網(wǎng)絡(luò)API,以及怎樣連接到服務(wù)器、實現(xiàn)自己的服務(wù)器、創(chuàng)建HTTP連接,并討論了新的HTTP客戶端;

☉5章介紹了數(shù)據(jù)庫編程,重點講解JDBC,即Java數(shù)據(jù)庫連接API;

☉第6章涵蓋如何使用新的日期和時間庫來處理日歷及時區(qū);

☉第7章討論國際化;

☉第8章介紹3種處理代碼的技術(shù);

☉第9章講解從Java 9開始引入的Java平臺模塊系統(tǒng),以促進Java平臺和核心類庫的有序演化;

☉第10章繼續(xù)介紹Java安全模型,展示怎樣編寫類加載器和安全管理器,以及允許使用消息、代碼簽名、授權(quán)和認證及加密等重要特性的安全API;

☉第11章討論沒有納入卷Ⅰ的所有Swing知識,包括樹形構(gòu)件、表格構(gòu)件,以及Java 2D API;

☉第12章介紹本地方法,這個功能支持你調(diào)用為微軟Windows API這樣的特殊機制而編寫的各種方法。


作者簡介

[美]凱.S.霍斯特曼(Cay S. Horstmann)圣何塞州立大學計算機科學系教授、Java的倡導者。

他是《Java核心技術(shù)》兩卷本的作者,并著有《Core Java SE 9 for the Impatient, Second Edition》 (Addison-Wesley 2018)和《Scala for the Impatient, Second Edition》(Addison- Wesley, 2017)。

還為專業(yè)程序員和計算機科學專業(yè)的學生撰寫過數(shù)十本其他圖書。


目錄

【卷I】

第1章 Java程序設(shè)計概述 1

1.1 Java程序設(shè)計平臺 1

1.2 Java“白皮書”的關(guān)鍵術(shù)語 2

1.3 Java applet與Internet 6

1.4 Java發(fā)展簡史 7

1.5 關(guān)于Java的常見誤解 10

第2章 Java程序設(shè)計環(huán)境 12

2.1 安裝Java開發(fā)工具包 12

2.2 使用命令行工具 16

2.3 使用集成開發(fā)環(huán)境 20

2.4 JShell 23

第3章 Java的基本程序設(shè)計結(jié)構(gòu) 26

3.1 一個簡單的Java應(yīng)用程序 26

3.2 注釋 29

3.3 數(shù)據(jù)類型 29

3.4 變量與常量 34

3.5 運算符 37

3.6 字符串 44

3.7 輸入與輸出 55

3.8 控制流程 62

3.9 大數(shù) 76

3.10 數(shù)組 79

第4章 對象與類 92

4.1 面向?qū)ο蟪绦蛟O(shè)計概述 92

4.2 使用預定義類 96

4.3 用戶自定義類 103

4.4 靜態(tài)字段與靜態(tài)方法 115

4.5 方法參數(shù) 121

4.6 對象構(gòu)造 126

4.7 包 134

4.7.1 包名 134

4.8 JAR文件 143

4.9 文檔注釋 148

4.10 類設(shè)計技巧 152

第5章 繼承 155

5.1 類、超類和子類 155

5.2 Object:所有類的超類 174

5.3 泛型數(shù)組列表 186

5.4 對象包裝器與自動裝箱 192

5.5 參數(shù)數(shù)量可變的方法 195

5.6 枚舉類 196

5.7 反射 198

5.8 繼承的設(shè)計技巧 219

第6章 接口、lambda表達式與內(nèi)部類 222

6.1 接口 222

6.2 lambda表達式 242

6.3 內(nèi)部類 255

6.4 服務(wù)加載器 270

6.5 代理 273

第7章 異常、斷言和日志 279

7.1 處理錯誤 279

7.2 捕獲異常 286

7.3 使用異常的技巧 297

7.4 使用斷言 300

7.5 日志 304

7.6 調(diào)試技巧 321

第8章 泛型程序設(shè)計 326

8.1 為什么要使用泛型程序設(shè)計 326

8.2 定義簡單泛型類 328

8.3 泛型方法 330

8.4 類型變量的限定 331

8.5 泛型代碼和虛擬機 333

8.6 限制與局限性 338

8.7 泛型類型的繼承規(guī)則 346

8.8 通配符類型 348

8.9 反射和泛型 354

第9章 集合 365

9.1 Java集合框架 365

9.2 集合框架中的接口 373

9.3 具體集合 375

9.4 映射 394

9.5 視圖與包裝器 403

9.6 算法 411

9.7 遺留的集合 419

第10章 圖形用戶界面程序設(shè)計 429

10.1 Java用戶界面工具包簡史 429

10.2 顯示窗體 430

10.3 在組件中顯示信息 435

10.4 事件處理 453

10.5 首選項API 472

第11章 Swing用戶界面組件 478

11.1 Swing和模型–視圖–控制器設(shè)計模式 478

11.2 布局管理概述 481

11.3 文本輸入 485

11.4 選擇組件 491

11.5 菜單 507

11.6 復雜的布局管理 520

11.7 對話框 532

第12章 并發(fā) 552

12.1 什么是線程 552

12.2 線程狀態(tài) 555

12.3 線程屬性 558

12.4 同步 563

12.5 線程安全的集合 589

12.6 任務(wù)和線程池 603

12.7 異步計算 615

12.8 進程 628

附錄 Java關(guān)鍵字 634

【卷II】

第1章 Java 8的流庫 1

1.1 從迭代到流的操作 1

1.2 流的創(chuàng)建 3

1.3 f?ilter、map和f?latMap方法 8

1.4 抽取子流和組合流 9

1.5 其他的流轉(zhuǎn)換 10

1.6 簡單約簡 11

1.7 Optional類型 13

1.8 收集結(jié)果 19

1.9 收集到映射表中 24

1.10 群組和分區(qū) 27

1.11 下游收集器 28

1.12 約簡操作 32

1.13 基本類型流 34

1.14 并行流 39

第2章 輸入與輸出 43

2.1 輸入/輸出流 43

2.2 讀寫二進制數(shù)據(jù) 61

2.3 對象輸入/輸出流與序列化 70

2.4 操作文件 86

2.5 內(nèi)存映射文件 99

2.6 文件加鎖機制 107

2.7 正則表達式 109

第3章 XML 120

3.1 XML概述 120

3.2 XML文檔的結(jié)構(gòu) 122

3.3 解析XML文檔 124

3.4 驗證XML文檔 133

3.5 使用XPath來定位信息 148

3.6 使用命名空間 152

3.7 流機制解析器 154

3.8 生成XML文檔 162

3.9 XSL轉(zhuǎn)換 171

第4章 網(wǎng)絡(luò) 180

4.1 連接到服務(wù)器 180

4.2 實現(xiàn)服務(wù)器 186

4.3 獲取Web數(shù)據(jù) 199

4.4 HTTP客戶端 215

4.5 發(fā)送E-mail 221

第5章 數(shù)據(jù)庫編程 225

5.1 JDBC的設(shè)計 225

5.2 結(jié)構(gòu)化查詢語言 227

5.3 JDBC配置 232

5.4 使用JDBC語句 237

5.5 執(zhí)行查詢操作 246

5.6 可滾動和可更新的結(jié)果集 256

5.7 行集 261

5.8 元數(shù)據(jù) 265

5.9 事務(wù) 274

5.10 Web與企業(yè)應(yīng)用中的連接管理 278

第6章 日期和時間API 280

6.1 時間線 280

6.2 本地日期 284

6.3 日期調(diào)整器 288

6.4 本地時間 289

6.5 時區(qū)時間 290

6.6 格式化和解析 294

6.7 與遺留代碼的互操作 298

第7章 國際化 300

7.1 locale 300

7.2 數(shù)字格式 305

7.3 日期和時間 311

7.4 排序和規(guī)范化 318

7.5 消息格式化 323

7.6 文本輸入和輸出 327

7.7 資源包 330

7.8 一個完整的例子 333

第8章 腳本、編譯與注解處理 348

8.1 Java平臺的腳本機制 348

8.2 編譯器API 358

8.3 使用注解 367

8.3.1 注解簡介 368

8.3.2 示例:注解事件處理器 369

8.4 注解語法 373

8.5 標準注解 379

8.6 源碼級注解處理 383

8.7 字節(jié)碼工程 388

第9章 Java平臺模塊系統(tǒng) 395

9.1 模塊的概念 395

9.2 對模塊命名 396

9.3 模塊化的“Hello, World!”程序 397

9.4 對模塊的需求 398

9.5 導出包 400

9.6 模塊化的JAR 403

9.7 模塊和反射式訪問 404

9.8 自動模塊 406

9.9 不具名模塊 408

9.10 用于遷移的命令行標識 409

9.11 傳遞的需求和靜態(tài)的需求 410

9.12 限定導出和開放 411

9.13 服務(wù)加載 412

9.14 操作模塊的工具 414

第10章 安全 417

10.1 類加載器 417

10.2 安全管理器與訪問權(quán)限 429

10.3 用戶認證 446

10.4 數(shù)字簽名 459

10.5 加密 472

第11章 高級Swing和圖形化編程 483

11.1 表格 483

11.2 樹 513

11.3 高級AWT 544

11.4 像素圖 583

11.5 打印 604

第12章 本地方法 632

12.1 從Java程序中調(diào)用C函數(shù) 633

12.2 數(shù)值參數(shù)與返回值 637

12.3 字符串參數(shù) 639

12.4 訪問域 644

12.5 編碼簽名 648

12.6 調(diào)用Java方法 650

12.7 訪問數(shù)組元素 656

12.8 錯誤處理 659

12.9 使用調(diào)用API 663

12.10 完整的示例:訪問Windows注冊表 668


前言/序言

【卷I】

致讀者

1995年年底,Java語言在Internet舞臺一亮相便名聲大噪。原因在于它將有望成為連接用戶與信息的萬能膠,而不論這些信息來自Web服務(wù)器、數(shù)據(jù)庫、信息提供商,還是任何其他可以想象的渠道。事實上,就發(fā)展前景而言,Java的地位是獨一無二的。它是一種完全可信賴的程序設(shè)計語言,并得到了廣泛認可。其固有的可靠性與安全性不僅令Java程序員放心,也令使用Java程序的用戶放心。Java內(nèi)建了對網(wǎng)絡(luò)編程、數(shù)據(jù)庫連接和并發(fā)等高級程序設(shè)計任務(wù)的支持。

1995年以來,已經(jīng)發(fā)布了Java開發(fā)工具包(Java Development Kit)的11個主要版本。在過去的20年中,應(yīng)用程序編程接口(API)已經(jīng)從200個類擴展到超過4000個類?,F(xiàn)在這些API覆蓋了用戶界面構(gòu)建、數(shù)據(jù)庫管理、國際化、安全性以及XML處理等各個不同的領(lǐng)域。

本書是《Java核心技術(shù)》第11版的卷Ⅰ。自《Java核心技術(shù)》出版以來,每個新版本都盡可能快地跟上Java開發(fā)工具包發(fā)展的步伐,而且每一版都重新改寫了部分內(nèi)容,以便利用Java的最新特性。這一版經(jīng)過修訂,反映了Java 標準版(Java SE)9、10和11的特性。

與本書前幾版一樣,這一版仍然將讀者群定位為那些打算將Java應(yīng)用到實際工程項目中的程序設(shè)計人員。本書假設(shè)讀者是一名具有程序設(shè)計語言(除Java之外)堅實背景知識的程序員,并且不希望書中充斥著玩具式的示例(諸如,烤面包機、動物園的動物或神經(jīng)質(zhì)的跳動文本)。這些內(nèi)容絕對不會在本書中出現(xiàn)。本書的目標是讓讀者充分理解書中介紹的Java語言及Java類庫的相關(guān)特性,而不會產(chǎn)生任何誤解。

在本書中,我們選用大量的示例代碼演示所討論的每一個語言特性和類庫特性。我們有意使用簡單的示例程序以突出重點,然而,其中的大部分既不是贗品也沒有偷工減料。它們將成為讀者自己編寫代碼的良好開端。

我們假定讀者愿意(甚至渴望)學習Java提供的所有高級特性。例如,本書將詳細介紹下列內(nèi)容:

面向?qū)ο蟪绦蛟O(shè)計、反射與代理、接口與內(nèi)部類、異常處理、泛型程序設(shè)計、集合框架、事件監(jiān)聽器模型、圖形用戶界面設(shè)計、并發(fā)。

【卷II】

本書是按照Java SE 11進行更新的。卷Ⅰ主要介紹了Java語言的一些關(guān)鍵特性,而本卷主要介紹編程人員進行專業(yè)軟件開發(fā)時需要了解的高級主題。因此,與卷Ⅰ和之前的版本一樣,我們?nèi)詫⒈緯ㄎ挥谟肑ava技術(shù)進行實際項目開發(fā)的編程人員。



點此購買


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號