Java核心技術 捲II:高級特性 第11版·英文版 上下冊

Java核心技術 捲II:高級特性 第11版·英文版 上下冊

作者: Cay S. Horstmann
出版社: 人民郵電
出版在: 2020-02-01
ISBN-13: 9787115526410
ISBN-10: 7115526419
裝訂格式: 平裝
總頁數: 871 頁





內容描述


本書是經典的《Java核心技術卷Ⅱ:級特性》的新版。
這一版對全書進行了全面更新,以反映Java SE 9、Java SE 10和Java SE 11的特性。
本書是Java技術
威指南,全面覆蓋Java技術的級主題,包括流,
輸入與輸出,XML,網絡API,數據庫編程,日期與時間API,國際化,
腳本、編譯與註解處理,Java平台模塊系統,安全,本地方法等內容。
本書對Java技術的闡述
確到位,敘述方式深入淺出,並包含大量程序示例,
從而幫助讀者充分理解Java語言以及Java類庫的相關*級特性。
本書適合想將Java應用於實際項目的軟件開發人員、高等院校教師和學生參考閱讀。


目錄大綱


目錄:  
Chapter 1: Streams / 流1
1.1 From Iterating to Stream Operations / 從迭代到流操作2
1.2 Stream Creation / 流的創建5
1.3 The filter, map, and flatMap Methods / filter、map和flatMap方法11
1.4 Extracting Substreams and Combining Streams / 提取子流和組合流12
1.5 Other Stream Transformations / 其他流變換14
1.6 Simple Reductions / 簡單規約15
1.7 The Optional Type / Optional類型16
1.7.1 Getting an Optional Value / 獲得Optional值17
1.7.2 Consuming an Optional Value / 消耗Optional值17
1.7.3 Pipelining Optional Values / 流水線式的使用Optional值1
1.7.4 How Not to Work with Optional Values / 避免錯誤使用Optional值19
1.7.5 Creating Optional Values / 創建Optional值20
1.7.6 Composing Optional Value Functions with flatMap / 使用flatMap組合Optional值函數21
1.7.7 Turning an Optional into a Stream / 將Optional值變到流中22
1.8 Collecting Results / 收集結果25
1.9 Collecting into Maps / 收集到Map中30
1.10 Grouping and Partitioning / 分組與分區34
1.11 Downstream Collectors / 下游的收集器36
1.12 Reduction Operations / 規約操作41
1.13 Primitive Type Streams / 基本類型的流43
1.14 Parallel Streams / 並行流48
Chapter 2: Input and Output / 輸入與輸出55
2.1 Input / Output Streams / 輸入/輸出流56
2.1.1 Reading and Writing Bytes / 讀寫字節56
2.1.2 The Complete Stream Zoo / 流譜系概覽59
2.1.3 Combining Input/Output Stream Filters / 組合輸入/輸出流過濾器63
2.1.4 Text Input and Output / 文本輸入與輸出68
2.1.5 How to Write Text Output / 輸出文本68
2.1.6 How to Read Text Input / 輸入文本70
2.1.7 Saving Objects in Text Format / 以文本格式保存對象72
2.1.8 Character Encodings / 字符編碼75
2.2 Reading and Writing Binary Data / 讀寫二進制數據78
2.2.1 DataInput和DataOutput接口/ DataInput和DataOutput接口78
2.2.2 Random-Access Files / 隨機訪問文件80
2.2.3 ZIP Archives / ZIP文檔85
2.3 Object Input/Output Streams and Serialization / 對象輸入/輸出流與序列化88
2.3.1 Saving and Loading Serializable Objects / 序列化對象的保存與加載88
2.3.2 Understanding the Object Serialization File Format / 理解對象序列化文件格式93
2.3.3 Modifying the Default Serialization Mechanism / 修改默認的序列化機制100
2.3.4 Serializing Singletons and Typesafe Enumerations / 序列化單例和類型安全的枚舉102
2.3.5 Versioning / 版本管理103
2.3.6 Using Serialization for Cloning / 將序列化用於克隆106
2.4 Working with Files / 處理文件109
2.4.1 Paths / 路徑109
2.4.2 Reading and Writing Files / 讀寫文件112
2.4.3 Creating Files and Directories / 創建文件和目錄113
2.4.4 Copying, Moving, and Deleting Files / 複製、移動和刪除文件114
2.4.5 Getting File Information / 獲取文件信息116
2.4.6 Visiting Directory Entries / 訪問目錄條目118
2.4.7 Using Directory Streams / 使用目錄流120
2.4.8 ZIP File Systems / ZIP文件系統123
2.5 Memory-Mapped Files / 內存映射文件124
2.5.1 Memory-Mapped File Performance / 內存映射文件的性能125
2.5.2 The Buffer Data Structure / 緩衝區數據結構132
2.6 File Locking / 文件鎖134
2.7 Regular Expressions / 正則表達式137
2.7.1 The Regular Expression Syntax / 正則表達式語法137
2.7.2 Matching a String / 匹配字符串142
2.7.3 Fining Multiple Matches / 尋找多個匹配字符串145
2.7.4 Splitting along Delimiters / 使用分隔符分解147
2.7.5 Replacing Matches / 替換掉匹配字符串148
第三章:XML153
3.1 Introducing XML / XML簡介154
3.2 The Structure of an XML Document / XML文檔的結構156
3.3 Parsing an XML Document / 解析XML文檔 159
3.4 Validating XML Documents / 驗證XML文檔169
3.4.1 Document Type Definitions / 文檔類型定義171
3.4.2 XML Schema / XML模式179
3.4.3 A Practical Example / 實用示例182
3.5 Locating Information with XPath / 使用XPath定位信息188
3.6 Using Namespaces / 使用命名空間193
3.7 Streaming Parsers / 流解析器196
3.7.1 Using the SAX Parser / 使用SAX解析器197
3.7.2 Using the StAX Parser / 使用StAX解析器202
3.8 Generating XML Documents / 生成XML文檔206
3.8.1 Documents without Namespaces / 不帶命名空間的文檔206
3.8.2 Documents with Namespaces / 帶命名空間的文檔207
3.8.3 Writing Documents / 寫文檔208
3.8.4 Writing an XML Document with StAX / 使用StAX寫XML文檔210
3.8.5 An Example: Generating an SVG File / 示例:生成SVG文件215
3.9 XSL Transformations / XSL轉換216
Chapter 4: Networking / 網絡227
4.1 Connecting to a Server / 連接到服務器227
4.1.1 Using Telnet / 使用Telnet 227
4.1.2 Connecting to a Server with Java / 使用Java連接到服務器230
4.1.3 Socket Timeouts / 套接字超時232
4.1.4 Internet Addresses / 因特網地址234
4.2 Implementing Servers / 實現服務器236
4.2.1 Server Sockets / 服務器套接字236
4.2.2 Serving Multiple Clients / 服務多個客戶端239
4.2.3 Half-Close / 半關閉243
4.2.4 Interruptible Sockets / 可中斷套接字244
4.3 Getting Web Data / 獲取Web數據251
4.3.1 URL和URI / URL和URI251
4.3.2 Using a URLConnection to Retrieve Information / 使用URLConnection獲取信息254
4.3.3 Posting Form Data / 提交表單數據261
4.4 The HTTP Client / HTTP客戶端271
4.5 Sending E-Mail / 發送E-Mail278
Chapter 5: Database Programming / 數據庫編程283
5.1 The Design of JDBC / JDBC的設計284
5.1.1 JDBC Driver Types / JDBC驅動程序分類285
5.1.2 Typical Uses of JDBC / JDBC的典型用法286
5.2 The Structured Query Language / 結構化查詢語言287
5.3 JDBC Configuration / JDBC配置293
5.3.1 Database URLs / 數據庫URL294
5.3.2 Driver JAR Files / 驅動程序JAR文件294
5.3.3 Starting the Database / 啟動數據庫294
5.3.4 Registering the Driver Class / 註冊驅動程序類295
5.3.5 Connecting to the Database / 連接到數據庫296
5.4 Working with JDBC Statements / 使用JDBC語句299
5.4.1 Executing SQL Statements / 執行SQL語句299
5.4.2 Managing Connections, Statements, and Result Sets / 管理連接、語句和結果集303
5.4.3 Analyzing SQL Exceptions / 分析SQL異常304
5.4.4 Populating a Database / 填充數據庫306
5.5 Query Execution / 執行查詢310
5.5.1 Prepared Statements / 預備語句311
5.5.2 Reading and Writing LOBs / 讀寫LOB317
5.5.3 SQL Escapes / SQL轉義319
5.5.4 Multiple Results / 多結果集321
5.5.5 Retrieving Autogenerated Keys / 獲取自動生成的主鍵322
5.6 Scrollable and Updatable Result Sets / 可滾動和可更新的結果集322
5.6.1 Scrollable Result Sets / 可滾動的結果集323
5.6.2 Updatable Result Sets / 可更新的結果集325
5.7 Row Sets / 行集329
5.7.1 Constructing Row Sets / 構建行集330
5.7.2 Cached Row Sets / 緩存的行集330
5.8 Metadata / 元數據334
5.9 Transactions / 事務344
5.9.1 Programming Transactions with JDBC / 使用JDBC編程實現事務344
5.9.2 Save Points / 保存點345
5.9.3 Batch Updates / 批量更新345
5.9.4 Advanced SQL Types / *級SQL類型348
5.10 Connection Management in Web and Enterprise Applications / Web與企業應用中的連接管理349
Chapter 6: The Date and Time API / 日期與時間API353
6.1 The Time Line / 時間線354
6.2 Local Dates / 本地日期358
6.3 Date Adjusters / 日期調整364
6.4 Local Time / 本地時間365
6.5 Zoned Time / 時區時間367
6.6 Formatting and Parsing / 格式化與解析371
6.7 Interoperating with Legacy Code / 與遺留代碼互操作376
Chapter 7: Internationalization / 國際化379
7.1 Locales / 地域380
7.1.1 Why Locales / 為什麼要引入地域類380
7.1.2 Specifying Locales / 指定地域381
7.1.3 The Default Locale / 默認地域384
7.1.4 Display Names / 顯示地域名384
7.2 Number Formats / 數字格式387
7.2.1 Formatting Numeric Values / 格式化數字值387
7.2.2 Currencies / 貨幣393
7.3 Date and Time / 日期與時間394
7.4 Collat​​ion and Normalization / 排序規則與標準化402
7.5 Message Formatting / 消息格式化409
7.5.1 Formatting Numbers and Dates / 格式化數字和日期409
7.5.2 Choice Formats / choice格式化選項411
7.6 Text Input and Output / 文本輸入與輸出413
7.6.1 Text Files / 文本文件414
7.6.2 Line Endings / 文本行結尾符號414
7.6.3 The Console / 控制台414
7.6.4 Log Files / 日誌文件415
7.6.5 The UTF-8 Byte Order Mark / UTF-8字節順序標記415
7.6.6 Character Encoding of Source Files / 源文件的字符編碼416
7.7 Resource Bundles / 資源包417
7.7.1 Locating Resource Bundles / 定位資源包417
7.7.2 Property Files / 屬性文件418
7.7.3 Bundle Classes / 包類419
7.8 A Complete Example / 完整示例421
Chapter 8: Scripting, Compiling, and Annotation Processing / 腳本、編譯與註解處理439
8.1 Scripting for the Java Platform / Java平台的腳本440
8.1.1 Getting a Scripting Engine / 獲得腳本引擎440
8.1.2 Script Evaluation and Bindings / 腳本求值與綁定441
8.1.3 Redirecting Input and Output / 重定向輸入輸出444
8.1.4 Calling Scripting Functions and Methods / 調用腳本函數和方法444
8.1.5 Compiling a Script / 編譯腳本446
8.1.6 An Example: Scripting GUI Events / 示例:用腳本處理GUI事件447
8.2 The Compiler API / 編譯器API


作者介紹


Cay S. Horstmann
聖何塞州立大學計算機科學教授,“Java大師”(Java Champion)。
他是多卷本的《Java核心技術》《寫給大忙人看的Java核心技術(2版)》
以及《快學Scala(
2版)》的作者。
他還編寫了很多針對專業程序員和計算機科學專業學生的其他圖書。




相關書籍

最新 CNS 基本圖學, 4/e

作者 大專圖學教學編輯委員會

2020-02-01

Photoshop 圖像處理與製作

作者 王才君 主編 周燕華 曾寬 鐘星翔

2020-02-01

The Hidden Power of Adobe Photoshop: Mastering Blend Modes and Adjustment Layers for Photography

作者 Valentine Scott

2020-02-01