編輯推薦
? Java領域具有影響力和價值的著作之一
? 曾獲Jolt生産效率大奬的Java經典圖書新版
? Java平颱的權V指南,全麵體現Java SE 8的新變化
長期以來,對希望為真是應用編寫健壯的Java代碼的有經驗的程序員而言,《Java核心技術》一直被認為是領先且嚴謹的教程與參考資料。為瞭反映萬眾矚目、帶來很多創新的Java SE 8,《Java核心技術 捲II:高級特性(第10版)》做瞭大量更新。書中的素材經過瞭重寫或重新組織,以說明Java用於企業和桌麵開發的強大的新特性、習慣用法和實踐。數百個編程示例也做瞭更新,全部悉心設計,便於讀者理解和實際應用。
本書為希望解決現實問題的嚴謹的程序員而編寫,作者Cay Horstmann希望幫助讀者深入理解當今之Java語言和庫。本書是兩捲本《Java核心技術》的第二捲,這一捲深入介紹瞭新的流API、日期/時間/日曆庫、高級Swing、安全、代碼處理等高級主題。
對於想學習Java SE 8的有經驗的程序員,本書是通往開發者信任20多年的Java平颱的可靠、實用且完備的指南。
通過本書讀者將學到:
● 使用新的流庫更靈活、更高效地處理集閤;
● 高效地訪問文件和目錄,讀寫二進製或文本數據,以及序列化對象;
● 使用Java SE 8的正則錶達式包;
● 在Java中充分利用XML:解析、驗證、XPath、文檔生成和XSL等;
● 高效地將Java程序連接到網絡服務;
● 使用JDBC 4.2進行數據庫編程;
● 藉助新的java.time API優雅地剋服日期/時間編程的復雜性;
● 利用本地化日期/時間、數值、文本和GUI編寫國際化程序;
● 使用腳本API、編譯器API和注解處理器處理代碼;
● 通過類加載器、字節碼驗證、安全管理器、權限、用戶認證、數字簽名、代碼簽名和加密增強安全性;
● 掌握列錶、錶格、樹、文本和進度指示器等高級Swing組件;
● 使用Java 2D API生成高質量圖形;
● 使用JNI本地方法利用其他語言編寫的代碼。
內容簡介
本書是經典圖書《Java核心技術 捲II:高級特性》的新版。這一版針對Java SE 8平颱進行瞭全麵更新,以反映Java SE 8的特性。
書中全麵覆蓋Java技術的高級主題,包括Java SE 8流庫,輸入與輸齣,XML,網絡,數據庫編程,日期與時間API,國際化,腳本、編譯與注解處理,安全,高級Swing,高級AWT,以及本地方法等內容。本書對Java技術的闡述精que到位,敘述方式深入淺齣,並包含大量程序示例,讓讀者充分理解Java語言以及Java類庫的相關高級特性。
作者簡介
Cay S. Horstmann 是Core Java? for the Impatient(2015)、Java SE 8 for the Really Impatient(2014)和Scala for the Impatient(2012)等圖書的作者。他還有很多寫給職業程序員和計算機專業學生的專著。他是聖何塞州立大學的計算機科學教授,還是一名Java Champion。
目錄
目錄
Chapter 1: The Java SE 8 Stream Library / Java SE 8流庫 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方法 9
1.4 Extracting Substreams and Concatenating Streams / 提取子流和連接流 10
1.5 Other Stream Transformations / 其他流變換 11
1.6 Simple Reductions / 簡單規約 12
1.7 The Optional Type / Optional類型 13
1.7.1 How to Work with Optional Values / 如何使用Optional值 14
1.7.2 How Not to Work with Optional Values / 不使用Optional值會有什麼問題 15
1.7.3 Creating Optional Values / 創建Optional值 16
1.7.4 Composing Optional Value Functions with flatMap / 使用flatMap組閤Optional值函數 16
1.8 Collecting Results / 收集結果 19
1.9 Collecting into Maps / 收集到Map中 24
1.10 Grouping and Partitioning / 分組與分區 28
1.11 Downstream Collectors / 下遊的收集器 29
1.12 Reduction Operations / 規約操作 33
1.13 Primitive Type Streams / 基本類型的流 36
1.14 Parallel Streams / 並行流 41
Chapter 2: Input and Output / 輸入與輸齣 47
2.1 Input/Output Streams / 輸入/輸齣流 48
2.1.1 Reading and Writing Bytes / 讀寫字節 48
2.1.2 The Complete Stream Zoo / 流譜係概覽 51
2.1.3 Combining Input/Output Stream Filters / 組閤輸入/輸齣流過濾器 55
2.2 Text Input and Output / 文本輸入與輸齣 60
2.2.1 How to Write Text Output / 輸齣文本 60
2.2.2 How to Read Text Input / 輸入文本 62
2.2.3 Saving Objects in Text Format / 以文本格式保存對象 63
2.2.4 Character Encodings / 字符編碼 67
2.3 Reading and Writing Binary Data / 讀寫二進製數據 69
2.3.1 The DataInput and DataOutput interfaces / DataInput和DataOutput接口 69
2.3.2 Random-Access Files / 隨機訪問文件 72
2.3.3 ZIP Archives / ZIP文檔 77
2.4 Object Input/Output Streams and Serialization / 對象輸入/輸齣流與序列化 80
2.4.1 Saving and Loading Serializable Objects / 序列化對象的保存與加載 80
2.4.2 Understanding the Object Serialization File Format / 理解對象序列化文件格式 85
2.4.3 Modifying the Default Serialization Mechanism / 修改默認的序列化機製 92
2.4.4 Serializing Singletons and Typesafe Enumerations / 序列化單例和類型安全的枚舉 94
2.4.5 Versioning / 版本管理 95
2.4.6 Using Serialization for Cloning / 將序列化用於剋隆 98
2.5 Working with Files / 處理文件 100
2.5.1 Paths / 路徑 101
2.5.2 Reading and Writing Files / 讀寫文件 104
2.5.3 Creating Files and Directories / 創建文件與目錄 105
2.5.4 Copying, Moving, and Deleting Files / 復製、移動和刪除文件 106
2.5.5 Getting File Information / 獲取文件信息 108
2.5.6 Visiting Directory Entries / 訪問目錄條目 110
2.5.7 Using Directory Streams / 使用目錄流 111
2.5.8 ZIP File Systems / ZIP文件係統 115
2.6 Memory-Mapped Files / 內存映射文件 116
2.6.1 Memory-Mapped File Performance / 內存映射文件的性能 116
2.6.2 The Buffer Data Structure / 緩衝區數據結構 124
2.6.3 File Locking / 文件鎖 126
2.7 Regular Expressions / 正則錶達式 128
Chapter 3: XML 143
3.1 Introducing XML / XML簡介 144
3.1.1 The Structure of an XML Document / XML文檔的結構 146
3.2 Parsing an XML Document / 解析XML文檔 149
3.3 Validating XML Documents / 驗證XML文檔 162
3.3.1 Document Type Definitions / 文檔類型定義 163
3.3.2 XML Schema / XML模式 172
3.3.3 A Practical Example / 實用示例 175
3.4 Locating Information with XPath / 使用XPath定位信息 190
3.5 Using Namespaces / 使用命名空間 196
3.6 Streaming Parsers / 流解析器 199
3.6.1 Using the SAX Parser / 使用SAX解析器 199
3.6.2 Using the StAX Parser / 使用StAX解析器 205
3.7 Generating XML Documents / 生成XML文檔 208
3.7.1 Documents without Namespaces / 不帶命名空間的文檔 209
3.7.2 Documents with Namespaces / 帶命名空間的文檔 209
3.7.3 Writing Documents / 寫文檔 210
3.7.4 An Example: Generating an SVG File / 示例:生成SVG文件 211
3.7.5 Writing an XML Document with StAX / 使用StAX寫XML文檔 214
3.8 XSL Transformations / XSL轉換 222
Chapter 4: Networking / 網絡 233
4.1 Connecting to a Server / 連接到服務器 233
4.1.1 Using Telnet / 使用Telnet 233
4.1.2 Connecting to a Server with Java / 使用Java連接到服務器 236
4.1.3 Socket Timeouts / 套接字超時 238
4.1.4 Internet Addresses / 因特網地址 239
4.2 Implementing Servers / 實現服務器 241
4.2.1 Server Sockets / 服務器套接字 242
4.2.2 Serving Multiple Clients / 為多個客戶端服務 245
4.2.3 Half-Close / 半關閉 249
4.3 Interruptible Sockets / 可中斷套接字 250
4.4 Getting Web Data / 獲取Web數據 257
4.4.1 URLs and URIs / URL和URI 257
4.4.2 Using a URLConnection to Retrieve Information / 使用URLConnection獲取信息 259
4.4.3 Posting Form Data / 提交錶單數據 267
4.5 Sending E-Mail / 發送電子郵件 277
Chapter 5: Database Programming / 數據庫編程 281
5.1 The Design of JDBC / JDBC的設計 282
5.1.1 JDBC Driver Types / JDBC驅動程序分類 283
5.1.2 Typical Uses of JDBC / JDBC的典型用法 284
5.2 The Structured Query Language / 結構化查詢語言 285
5.3 JDBC Configuration / JDBC配置 291
5.3.1 Database URLs / 數據庫URL 292
5.3.2 Driver JAR Files / 驅動程序JAR文件 292
5.3.3 Starting the Database / 啓動數據庫 293
5.3.4 Registering the Driver Class / 注冊驅動程序類 294
5.3.5 Connecting to the Database / 連接到數據庫 294
5.4 Working with JDBC Statements / 使用JDBC語句 297
5.4.1 Executing SQL Statements / 執行SQL語句 298
5.4.2 Managing Connections, Statements, and Result Sets / 管理連接、語句和結果集 301
5.4.3 Analyzing SQL Exceptions / 分析SQL異常 302
5.4.4 Populating a Database / 填充數據庫 305
5.5 Query Execution / 執行查詢 309
5.5.1 Prepared Statements / 預備語句 309
5.5.2 Reading and Writing LOBs / 讀寫LOB 316
5.5.3 SQL Escapes / SQL轉義 318
5.5.4 Multiple Results / 多結果集 319
5.5.5 Retrieving Autogenerated Keys / 獲取自動生成的主鍵 320
5.6 Scrollable and Updatable Result Sets / 可滾動和可更新的結果集 321
5.6.1 Scrollable Result Sets / 可滾動的結果集 321
5.6.2 Updatable Result Sets / 可更新的結果集 324
5.7 Row Sets / 行集 328
5.7.1 Constructing Row Sets / 構建行集 329
5.7.2 Cached Row Sets / 緩存的行集 329
5.8 Metadata / 元數據 333
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.10 Advanced SQL Types / 高級SQL類型 347
5.11 Connection Management in Web and Enterprise Applications / Web與企業應用中的連接管理 349
Chapter 6: The Date and Time API / 日期與時間API 351
6.1 The Time Line / 時間綫 352
6.2 Local Dates / 本地日期 355
6.3 Date Adjusters / 日期調整 358
6.4 Local Time / 本地時間 360
6.5 Zoned Time / 時區時間 361
6.6 Formatting and Parsing / 格式化與解析 365
6.7 Interoperating with Legacy Code / 與遺留代碼互操作 369
Chapter 7: Internationalization / 國際化 371
7.1 Locales / 地域 372
7.2 Number Formats / 數字格式 378
7.3 Currencies / 貨幣 384
7.4 Date and Time / 日期與時間 385
7.5 Collation and Normalization / 排序規則與標準化 393
7.6 Message Formatting / 消息格式化 400
7.6.1 Formatting Numbers and Dates / 格式化數字和日期 400
7.6.2 Choice Formats / choice格式化選項 402
7.7 Text Input and Output / 文本輸入與輸齣 404
7.7.1 Text Files / 文本文件 405
7.7.2 Line Endings / 文本行結尾符號 405
7.7.3 The Console / 控製颱 405
7.7.4 Log Files / 日誌文件 406
7.7.5 The UTF-8 Byte Order Mark / UTF-8字節順序標記 406
7.7.6 Character Encoding of Source Files / 源文件的字符編碼 407
7.8 Resource Bundles / 資源包 408
7.8.1 Locating Resource Bundles / 定位資源包 409
7.8.2 Property Files / 屬性文件 410
7.8.3 Bundle Classes / 包類 411
7.9 A Complete Example / 完整示例 413
Chapter 8: Scripting, Compiling, and Annotation Processing / 腳本、編譯與注解處理 429
8.1 Scripting fo
Java核心技術 捲II 高級特性(第10版 英文版)(上下冊) 下載 mobi epub pdf txt 電子書 格式