![](/c3/10060055436894.jpg)
出版社:人民郵電出版社 ISBN:9787115526410 商品編碼:10060055436894 品牌:文軒 出版時間:2020-02-01 代碼:159 作者:凱·S.霍斯特曼(CayS.Horstman
"![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:(美)凱·S. 霍斯特曼(Cay S.Horstmann) 著 定 價:159 出 版 社:人民郵電出版社 出版日期:2020年02月01日 頁 數:871 裝 幀:平裝 ISBN:9787115526410 ●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值 18 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 The DataInput and DataOutput interfaces/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 Finding ltiple Matches/尋找多個匹配字符串 145 2.7.4 Splitting along Delimiters/使用分隔符分解 147 2.7.5 Replacing Matches/替換掉匹配字符串 148 Chapter 3:XML 153 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 ltiple Clients/服務多個客戶端 239 4.2.3 Half-Close/半關閉 243 4.2.4 Interruptible Sockets/可中斷套接字 244 4.3 Getting Web Data/獲取Web數據 251 4.3.1 URLs and URIs/URL和URI 251 4.3.2 Using a URLConnection to Retrieve Information/使用URLConnection獲取信息 254 4.3.3 ting Form Data/提交表單數據 261 4.4 The HTTP Client/HTTP客戶端 271 4.5 Sending E-Mail/發送E-Mail 278 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/數據庫URL 294 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/讀寫LOB 317 5.5.3 SQL Escapes/SQL轉義 319 5.5.4 ltiple 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 Metada數據 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/日期與時間API 353 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 Collation 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 452 8.2.1 Invoking the Compiler/調用編譯器 453 8.2.2 Launching a Compilation Task/啟動編譯任務 453 8.2.3 Capturing Diagnostics/捕獲診斷信息 454 8.2.4 Reading Source Files from Memory/從內存讀取源文件 454 8.2.5 Writing Byte Codes to Memory/將字節碼寫入內存 455 8.2.6 An Example:Dynamic Java Code Generation/示例:動態Java代碼生成 457 8.3 Using Annotations/使用注解 463 8.3.1 An Introduction into Annotations/注解簡介 464 8.3.2 An Example:Annotating Event Handlers/示例:注解事件處理程序 465 8.4 Annotation Syntax/注解語法 471 8.4.1 Annotation Interfaces/注解接口 471 8.4.2 Annotations/注解 473 8.4.3 Annotating Declarations/在聲明的地方使用注解 475 8.4.4 Annotating Type Uses/在類型使用的地方使用注解 476 8.4.5 Annotating this/對this做注解 477 8.5 Standard Annotations/標準注解 478 8.5.1 Annotations for Compilation/用於編譯的注解 480 8.5.2 Annotations for Managing Resources/用於管理資源的注解 480 8.5.3 Meta-Annotatio注解 481 8.6 Source-Level Annotation Processing/源碼級注解處理 484 8.6.1 Annotation Processors/注解處理器 484 8.6.2 The Language Model API/語言模型API 485 8.6.3 Using Annotations to Generate Source Code/使用注解生成源代碼 486 8.7 Bytecode Engineering/字節碼工程 489 8.7.1 Modifying Class Files/修改類文件 490 8.7.2 Modifying Bytecodes at Load Time/在加載時修改字節碼 495 Chapter 9:The Java Platform Module System/Java平臺模塊繫統 499 9.1 The Module Concept/模塊概念 500 9.2 Naming Modules/命名模塊 501 9.3 The Modular“Hello, World!”Program/模塊化的“Hello, World!”程序 502 9.4 Requiring Modules/請求模塊 504 9.5 Exporting Packages/導出包 506 9.6 Modular JARs/模塊化的JAR文件 510 9.7 Modules and Reflective Access/模塊與反射訪問 511 9.8 Automatic Modules/自動模塊 515 9.9 The Unnamed Module/未命名模塊 517 9.10 Command-Line Flags for Migration/用於遷移的命令行標志 518 9.11 Transitive and Static Requirements/傳遞和靜態請求 519 9.12 Qualified Exporting and Opening/導出和打開 521 9.13 Service Loading/服務加載 522 9.14 Tools for Working with Modules/處理模塊的工具 524 Chapter 10:Security/安全 529 10.1 Class Loaders/類加載器 530 10.1.1 The Class-Loading Process/類加載流程 530 10.1.2 The Class Loader Hierarchy/類加載器層次結構 532 10.1.3 Using Class Loaders as Namespaces/將類加載器作為命名空間 534 10.1.4 Writing Your Own Class Loader/編寫自己的類加載器 534 10.1.5 Bytecode Verification/字節碼驗證 541 10.2 Security Managers and Permissions/安全管理器與權限 546 10.2.1 Permission Checking/權限檢查 546 10.2.2 Java Platform Security/Java平臺安全 547 10.2.3 Security Policy Files/安全策略文件 551 10.2.4 Custom Permissions/定制權限 559 10.2.5 Implementation of a Permission Class/實現權限類 560 10.3 User Authentication/用戶認證 566 10.3.1 The JAAS Framework/JAAS框架 566 10.3.2 JAAS Login Modules/JAAS登錄模塊 573 10.4 Digital Signatures/數字簽名 582 10.4.1 Message Digests/消息摘要 583 10.4.2 Message Signing/消息簽名 587 10.4.3 Verifying a Signature/驗證簽名 589 10.4.4 The Authentication Problem/認證問題 592 10.4.5 Certificate Signing/證書簽名 594 10.4.6 Certificate Requests/證書請求 596 10.4.7 Code Signing/代碼簽名 597 10.5 Encryption/加密 599 10.5.1 Symmetric Ciphers/對稱密碼 600 10.5.2 Key Generation/生成密鑰 602 10.5.3 Cipher Streams/加密流 607 10.5.4 Public Key Ciphers/公鑰密碼 608 Chapter 11:Advanced Swing and Graphics/高級Swing和圖形編程 613 11.1 Tables/表格 613 11.1.1 A Simple Table/簡單表格 614 11.1.2 Table Models/表格模式 618 11.1.3 Working with Rows and Columns/行列操作 622 11.1.3.1 Column Classes/列類 622 11.1.3.2 Accessing Table Columns/訪問表列 623 11.1.3.3 Resizing Columns/調整列 624 11.1.3.4 Resizing Rows/調整行 625 11.1.3.5 Selecting Rows, Columns, and Cells/選擇行、格 626 11.1.3.6 Sorting Rows/對行進行排序 627 11.1.3.7 Filtering Rows/對行進行過濾 628 11.1.3.8 Hiding and Displaying Columns/隱藏或顯示列 630 11.1.4 Cell Rendering and Editin格的繪制和編輯 639 11.1.4.1 Rendering Cells/格 639 11.1.4.2 Rendering the Header/繪制表頭 641 11.1.4.3 Editing Cells/格 641 11.1.4.4 Custom Editors/定制編輯器 642 11.2 Trees/樹 652 11.2.1 Simple Trees/簡單的樹 654 11.2.2 Node Enumeration/節點枚舉 672 11.2.3 Rendering Nodes/渲染節點 674 11.2.4 Listening to Tree Events/監聽樹事件 677 11.2.5 Custom Tree Models/定制樹模型 684 11.3 Advanced AWT/高級AWT 693 11.3.1 The Rendering Pipeline/繪制圖形的流程 694 11.3.2 Shapes/形狀 696 11.3.2.1 The Shape Class Hierarchy/Shape類層次結構 697 11.3.2.2 Using the Shape Classes/使用各種Shape類 698 11.3.3 Areas/區域 714 11.3.4 Strokes/畫筆 715 11.3.5 Paint/著色 724 11.3.6 Coordinate Transformations/坐標變換 727 11.3.7 Clipping/剪切 733 11.3.8 Transparency and Composition/透明和組合 735 11.4 Raster Images/光柵圖像 744 11.4.1 Readers and Writers for Images/圖像的讀取器和寫入器 745 11.4.1.1 Obtaining Readers and Writers for Image File Types/獲取圖像文件類型的讀取器和寫入器 745 11.4.1.2 Reading and Writing Files with ltiple Images/讀寫包含多個圖像的文件 747 11.4.2 Image Manipulation/圖像處理 756 11.4.2.1 Constructing Raster Images/構建光柵圖像 756 11.4.2.2 Filtering Images/圖像過濾 763 11.5 Printing/打印 772 11.5.1 Graphics Printing/圖形打印 772 11.5.2 ltiple-Page Printing/多頁打印 782 11.5.3 Print Services/打印服務 792 11.5.4 Stream Print Services/流打印服務 796 11.5.5 Printing Attributes/打印屬性 799 Chapter 12:Native Methods/本地方法 809 12.1 Calling a C Function from a Java Program/從Java程序中調用C函數 810 12.2 Numeric Parameters and Return Values/數值參數與返回值 817 12.3 String Parameters/字符串參數 819 12.4 Accessing Fields/訪問字段 825 12.4.1 Accessing Instance Fields/訪問實例字段 825 12.4.2 Accessing Static Fields/訪問靜態字段 829 12.5 Encoding Signatures/編碼簽名 831 12.6 Calling Java Methods/調用Java方法 832 12.6.1 Instance Methods/實例方法 833 12.6.2 Static Methods/靜態方法 834 12.6.3 Constructors/構造器 835 12.6.4 Alternative Method Invocations/其他調用方法的手段 835 12.7 Accessing Array Elements/訪素 840 12.8 Handling Errors/處理錯誤 844 12.9 Using the Invocation API/使用Invocation API 849 12.10 A Complete Example:Accessing the Windows Registry/完整示例:訪問Windows注冊表 855 12.10.1 Overview of the Windows Registry/Windows注冊表簡介 855 12.10.2 A Java Platform Interface for Accessing the Registry/訪問注冊表的Java平臺接口 856 12.10.3 Implementation of Registry Access Functions as Native Methods/以本地方法方式實現注冊表訪問功能 857 本書是經典的《Java核心技術 卷Ⅱ:高級特性》的新版。這一版對全書進行了全面更新,以反映Java SE9、Java SE10和Java SE11的特性。本書是Java技術權威指南,全面覆蓋Java技術的高級主題,包括流,輸入與輸出,XML,網絡API,數據庫編程,日期與時間API,國際化,腳本、編譯與注解處理,Java平臺模塊繫統,安全,本地方法等內容。本書對Java技術的闡述準確到位,敘述方式深入淺出,並包含大量程序示例,從而幫助讀者充分理解Java語言以及Java類庫的相關高級特性。本書適合想將Java應用於實際項目的軟件開發人員、高等院校教師和學生參考閱讀。 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |