Java核心技術捲II:高級特性(原書第10版)

Java核心技術捲II:高級特性(原書第10版) pdf epub mobi txt 電子書 下載 2025

[美] 凱 S. 霍斯特曼(Cay S. Horstmann) 著,陳昊鵬 譯
圖書標籤:
  • Java
  • 核心技術
  • 高級特性
  • 第10版
  • 編程
  • 計算機科學
  • 軟件開發
  • 多綫程
  • 集閤框架
  • IO
  • 網絡編程
  • 反射
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 機械工業齣版社
ISBN:9787111573319
版次:1
商品編碼:12198563
品牌:機工齣版
包裝:平裝
叢書名: Java核心技術係列
開本:16開
齣版時間:2017-09-01
用紙:膠版紙
頁數:803

具體描述

內容簡介

本書是Java領域有影響力和價值的著作之一,由擁有20多年教學與研究經驗的Java技術專傢撰寫(獲Jolt大奬),與《Java編程思想》齊名,10餘年全球暢銷不衰,廣受好評。第10版根據JavaSE8全麵更新,同時修正瞭第9版中的不足,係統全麵講解瞭Java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強。

目錄

目  錄
譯者序
前言
第1章 Java SE 8的流庫 1
1.1 從迭代到流的操作 1
1.2 流的創建 3
1.3 f?ilter、map和f?latMap方法 6
1.4 抽取子流和連接流 8
1.5 其他的流轉換 8
1.6 簡單約簡 9
1.7 Optional類型 11
1.7.1 如何使用Optional值 11
1.7.2 不適閤使用Optional值的方式 12
1.7.3 創建Optional值 13
1.7.4 用f?latMap來構建Optional值的函數 13
1.8 收集結果 15
1.9 收集到映射錶中 19
1.10 群組和分區 23
1.11 下遊收集器 24
1.12 約簡操作 28
1.13 基本類型流 29
1.14 並行流 34
第2章 輸入與輸齣 39
2.1 輸入/輸齣流 39
2.1.1 讀寫字節 39
2.1.2 完整的流傢族 42
2.1.3 組閤輸入/輸齣流過濾器 45
2.2 文本輸入與輸齣 48
2.2.1 如何寫齣文本輸齣 49
2.2.2 如何讀入文本輸入 51
2.2.3 以文本格式存儲對象 52
2.2.4 字符編碼方式 55
2.3 讀寫二進製數據 57
2.3.1 DataInput和DataOutput接口 57
2.3.2 隨機訪問文件 59
2.3.3 ZIP文檔 63
2.4 對象輸入/輸齣流與序列化 66
2.4.1 保存和加載序列化對象 66
2.4.2 理解對象序列化的文件格式 70
2.4.3 修改默認的序列化機製 75
2.4.4 序列化單例和類型安全的枚舉 77
2.4.5 版本管理 78
2.4.6 為剋隆使用序列化 80
2.5 操作文件 83
2.5.1 Path 83
2.5.2 讀寫文件 85
2.5.3 創建文件和目錄 87
2.5.4 復製、移動和刪除文件 88
2.5.5 獲取文件信息 89
2.5.6 訪問目錄中的項 91
2.5.7 使用目錄流 92
2.5.8 ZIP文件係統 95
2.6 內存映射文件 96
2.6.1 內存映射文件的性能 96
2.6.2 緩衝區數據結構 103
2.6.3 文件加鎖機製 105
2.7 正則錶達式 106
第3章 XML 117
3.1 XML概述 117
3.1.1 XML文檔的結構 119
3.2 解析XML文檔 122
3.3 驗證XML文檔 132
3.3.1 文檔類型定義 133
3.3.2 XML Schema 139
3.3.3 實用示例 142
3.4 使用XPath來定位信息 154
3.5 使用命名空間 159
3.6 流機製解析器 162
3.6.1 使用SAX解析器 162
3.6.2 使用StAX解析器 166
3.7 生成XML文檔 170
3.7.1 不帶命名空間的文檔 170
3.7.2 帶命名空間的文檔 170
3.7.3 寫齣文檔 171
3.7.4 示例:生成SVG文件 172
3.7.5 使用StAX寫齣XML文檔 174
3.8 XSL轉換 181
第4章 網絡 191
4.1 連接到服務器 191
4.1.1 使用telnet 191
4.1.2 用Java連接到服務器 193
4.1.3 套接字超時 195
4.1.4 因特網地址 196
4.2 實現服務器 198
4.2.1 服務器套接字 198
4.2.2 為多個客戶端服務 201
4.2.3 半關閉 204
4.3 可中斷套接字 205
4.4 獲取Web數 211
4.4.1 URL和URI 211
4.4.2 使用URLConnection獲取信息 213
4.4.3 提交錶單數據 220
4.5 發送E-mail 228
第5章 數據庫編程 232
5.1 JDBC的設計 232
5.1.1 JDBC驅動程序類型 233
5.1.2 JDBC的典型用法 234
5.2 結構化查詢語言 234
5.3 JDBC配置 239
5.3.1 數據庫URL 240
5.3.2 驅動程序JAR文件 240
5.3.3 啓動數據庫 240
5.3.4 注冊驅動器類 241
5.3.5 連接到數據庫 242
5.4 使用JDBC語句 244
5.4.1 執行SQL語句 244
5.4.2 管理連接、語句和結果集 247
5.4.3 分析SQL異常 248
5.4.4 組裝數據庫 250
5.5 執行查詢操作 254
5.5.1 預備語句 254
5.5.2 讀寫LOB 259
5.5.3 SQL轉義 261
5.5.4 多結果集 262
5.5.5 獲取自動生成的鍵 263
5.6 可滾動和可更新的結果集 263
5.6.1 可滾動的結果集 264
5.6.2 可更新的結果集 266
5.7 行集 269
5.7.1 構建行集 270
5.7.2 被緩存的行集 270
5.8 元數據 273
5.9 事務 282
5.9.1 用JDBC對事務編程 282
5.9.2 保存點 283
5.9.3 批量更新 283
5.10 高級SQL類型 285
5.11 Web與企業應用中的連接管理 286
第6章 日期和時間API 288
6.1 時間綫 288
6.2 本地時間 291
6.3 日期調整器 294
6.4 本地時間 295
6.5 時區時間 296
6.6 格式化和解析 299
6.7 與遺留代碼的互操作 302
第7章 國際化 304
7.1 Locale對象 304
7.2 數字格式 309
7.3 貨幣 314
7.4 日期和時間 315
7.5 排序和範化 321
7.6 消息格式化 327
7.6.1 格式化數字和日期 327
7.6.2 選擇格式 329
7.7 文本文件和字符集 331
7.7.1 文本文件 331
7.7.2 行結束符 331
7.7.3 控製颱 331
7.7.4 日誌文件 332
7.7.5 UTF-8字節順序標誌 332
7.7.6 源文件的字符編碼 333
7.8 資源包 333
7.8.1 定位資源包 334
7.8.2 屬性文件 335
7.8.3 包類 335
7.9 一個完整的例子 337
第8章 腳本、編譯與注解處理 352
8.1 Java平颱的腳本 352
8.1.1 獲取腳本引擎 352
8.1.2 腳本賦值與綁定 353
8.1.3 重定嚮輸入和輸齣 355
8.1.4 調用腳本的函數和方法 356
8.1.5 編譯腳本 357
8.1

前言/序言

前  言緻讀者本書是按照Java SE 8完全更新後的《Java核心技術 捲Ⅱ 高級特性(原書第10版)》。捲Ⅰ主要介紹瞭Java語言的一些關鍵特性;而本捲主要介紹編程人員進行專業軟件開發時需要瞭解的高級主題。因此,與本書捲Ⅰ和之前的版本一樣,我們仍將本書定位於用Java技術進行實際項目開發的編程人員。
編寫任何一本書籍都難免會有一些錯誤或不準確的地方。我們非常樂意聽到讀者的意見。當然,我們更希望對本書問題的報告隻聽到一次。為此,我們創建瞭一個FAQ、bug修正以及應急方案的網站http:// horstmann.com/corejava。你可以在bug報告網頁(該網頁的目的是鼓勵讀者閱讀以前的報告)的末尾處添加bug報告,以此來發布bug和問題並給齣建議,以便我們改進本書將來版本的質量。
內容提要本書中的章節大部分是相互獨立的。你可以研究自己最感興趣的主題,並可以按照任意順序閱讀這些章節。
在第1章中,你將學習Java 8的流庫,它帶來瞭現代風格的數據處理機製,即隻需指定想要的結果,而無須詳細描述應該如何獲得該結果。這使得流庫可以專注於優化的計算策略,對於優化並發計算來說,這顯得特彆有利。
第2章的主題是輸入輸齣處理。在Java中,所有I/O都是通過輸入/輸齣流來處理的。這些流(不要與第1章的那些流混淆瞭)使你可以按照統一的方式來處理與各種數據源之間的通信,例如文件、網絡連接或內存塊。我們對各種讀入器和寫齣器類進行瞭詳細的討論,它們使得對Unicode的處理變得很容易。我們還展示瞭如何使用對象序列化機製從而使保存和加載對象變得容易而方便,及其背後的原理。然後,我們討論瞭正則錶達式和操作文件與路徑。
第3章介紹XML,介紹怎樣解析XML文件,怎樣生成XML以及怎樣使用XSL轉換。在一個實用示例中,我們將展示怎樣在XML中指定Swing窗體的布局。我們還討論瞭XPath API,它使得“在XML的乾草堆中尋找綉花針”變得更加容易。
第4章介紹網絡API。Java使復雜的網絡編程工作變得很容易實現。我們將介紹怎樣創建連接到服務器上,怎樣實現你自己的服務器,以及怎樣創建HTTP連接。
第5章介紹數據庫編程,重點講解JDBC,即Java數據庫連接API,這是用於將Java程序與關係數據庫進行連接的API。我們將介紹怎樣通過使用JDBC API的核心子集,編寫能夠處理實際的數據庫日常操作事務的實用程序。(如果要完整介紹JDBC API的功能,可能需要編寫一本像本書一樣厚的書纔行。)最後我們簡要介紹瞭層次數據庫,探討瞭一下JNDI(Java命名及目錄接口)以及LDAP(輕量級目錄訪問協議)。
Java對於處理日期和時間的類庫做齣過兩次設計,而在Java 8中做齣的第三次設計則極富魅力。在第6章,你將學習如何使用新的日期和時間庫來處理日曆和時區的復雜性。
第7章討論瞭一個我們認為其重要性將會不斷提升的特性—國際化。Java編程語言是少數幾種一開始就被設計為可以處理Unicode的語言之一,不過Java平颱的國際化支持則走得更加深遠。因此,你可以對Java應用程序進行國際化,使得它們不僅可以跨平颱,而且還可以跨越國界。例如,我們會展示怎樣編寫一個使用英語、德語和漢語的退休金計算器。
第8章討論瞭三種處理代碼的技術。腳本機製和編譯器API允許程序去調用使用諸如JavaScript或Groovy之類的腳本語言編寫的代碼,並且允許程序去編譯Java代碼。可以使用注解嚮Java程序中添加任意信息(有時稱為元數據)。我們將展示注解處理器怎樣在源碼級彆或者在類文件級彆上收集這些注解,以及怎樣運用這些注解來影響運行時的類行為。注解隻有在工具的支持下纔有用,因此,我們希望我們的討論能夠幫助你根據需要選擇有用的注解處理工具。
第9章繼續介紹Java安全模型。Java平颱一開始就是基於安全而設計的,該章會帶你深入內部,查看這種設計是怎樣實現的。我們將展示怎樣編寫用於特殊應用的類加載器以及安全管理器。然後介紹允許使用消息、代碼簽名、授權以及認證和加密等重要特性的安全API。最後,我們用一個使用AES和RSA加密算法的示例進行瞭總結。
第10章涵蓋瞭沒有納入捲Ⅰ的所有Swing知識,尤其是重要但很復雜的樹形構件和錶格構件。隨後我們介紹瞭編輯麵闆的基本用法、“多文檔”界麵的Java實現、在多綫程程序中用到的進度指示器,以及諸如閃屏和支持係統托盤這樣的“桌麵集成特性”。我們仍著重介紹在實際編程中可能遇到的最為有用的構件,因為對Swing類庫進行百科全書般的介紹可能會占據好幾捲書的篇幅,並且隻有專門的分類學傢纔感興趣。
第11章介紹Java 2D API,你可以用它來創建實際的圖形和特殊的效果。該章還介紹瞭抽象窗口操作工具包(AWT)的一些高級特性,這部分內容看起來過於專業,不適閤在捲I中介紹。雖然如此,這些技術還是應該成為每一個編程人員工具包的一部分。這些特性包括打印和用於剪切粘貼及拖放的API。
第12章介紹本地方法,這個功能可以讓你調用為微軟Windows API這樣的特殊機製而編寫的各種方法。很顯然,這種特性具有
探索 Java 的深度邊界:構建堅實、高效、可維護的應用程序 如果您渴望在 Java 編程領域取得突破,駕馭其強大的高級特性,那麼您來對瞭地方。本書並非對 Java 語言的淺嘗輒止,而是為您鋪就一條通往精通的道路,深入剖析那些決定應用程序性能、可擴展性和維護性的核心機製。我們將一起探索 Java 虛擬機(JVM)的內在運作,理解內存管理、垃圾迴收的奧秘,以及如何利用這些知識優化您的代碼,使其在資源受限的環境下也能遊刃有餘。 告彆那些僅停留在錶麵 API 的介紹,本書將帶領您深入瞭解 Java 的並發編程模型。我們不僅僅會羅列 `Thread` 和 `Runnable`,更會著力講解綫程安全的各種策略,包括鎖機製(`synchronized`、`ReentrantLock`)、原子變量、以及 `java.util.concurrent` 包中豐富多樣的工具,如綫程池、並發集閤和同步器。您將學會如何設計和實現高效、無死鎖的並發係統,應對多綫程環境下的復雜挑戰,從而構建響應迅速、吞吐量高的應用程序。 性能的優化是軟件開發中永恒的主題,本書將為您提供行之有效的工具和方法。我們將詳細講解性能分析和調優的藝術,介紹各種性能剖析工具(Profiler),指導您如何定位代碼中的性能瓶頸,並通過 JVM 參數調優、JVM 內存結構分析、以及算法和數據結構的優化,顯著提升應用程序的執行效率。瞭解 JIT 編譯器的工作原理,以及它如何對您的代碼進行動態優化,將使您能夠編寫齣真正高效的 Java 代碼。 對於那些需要處理大量數據或構建復雜係統的開發者而言,本書將為您打開一扇通往更高級彆抽象的大門。我們將深入探討 Java 的泛型編程,理解類型擦除的細節,以及如何利用泛型實現安全、高效的代碼復用。此外,反射機製的強大功能也將得到充分展示,它能讓您在運行時動態地檢查和修改類、對象、字段和方法,從而實現高度靈活的框架和工具。 現代應用程序的構建離不開高效的數據處理和持久化。本書將為您介紹 Java 在這方麵的核心技術。您將學習如何利用 Java IO 和 NIO(非阻塞 IO)進行高效的文件和網絡 I/O 操作,理解流(Stream)的強大力量,並掌握處理各種數據格式(如 XML、JSON)的技巧。對於更復雜的持久化需求,我們將深入講解 JDBC(Java Database Connectivity)的原理和高級用法,以及 ORM(Object-Relational Mapping)框架(如 Hibernate)的強大之處,幫助您高效地管理和訪問關係型數據庫。 除瞭上述核心內容,本書還將覆蓋 Java 平颱的一些關鍵特性,這些特性對於構建健壯、可擴展的應用程序至關重要。您將深入瞭解 Java 模塊化係統(JPMS),理解它如何幫助您更好地組織和管理大型項目,提高代碼的可維護性和安全性。我們還將探討 Java 的注解(Annotation)處理器,學習如何通過自定義注解在編譯時生成代碼或進行靜態分析,極大地提升開發效率。 對於任何希望在 Java 開發領域不斷進取的工程師來說,掌握這些高級特性是必不可少的。本書將以清晰的邏輯、豐富的示例和深入的分析,幫助您建立起堅實的理論基礎和紮實的實踐能力。無論您是正在構建企業級應用、開發高性能服務,還是為復雜的係統提供技術支持,本書都將成為您寶貴的參考資料和得力助手,引領您在 Java 技術的世界裏不斷探索,不斷超越。

用戶評價

評分

我一直相信,一本書的價值,很大程度上取決於它能否在遇到問題時,給你提供清晰、係統且有深度的解決方案。《Java核心技術捲II:高級特性(原書第10版)》在這方麵給我留下瞭深刻的印象。在我剛接觸這本書的時候,就被它嚴謹的邏輯和清晰的結構所吸引。它並沒有直接給齣大量的代碼片段,而是先從概念入手,一步步地剖析Java語言在某些高級特性上的設計考量。例如,關於多綫程和並發的章節,它不僅僅是教你如何使用Thread類或者Runnable接口,而是會詳細講解綫程的生命周期、綫程安全問題(競態條件、死鎖等),以及Java提供的各種同步機製(synchronized關鍵字、Lock接口及其實現類)。這對於理解和解決實際開發中遇到的並發bug至關重要。而且,書中對異常處理、IO流、網絡編程等方麵的講解,也都是從根本上解決問題,而不是停留在錶麵。

評分

作為一名在Java領域摸爬滾打多年的開發者,總感覺自己似乎進入瞭一個瓶頸期,很多時候的開發隻是在復用已有的模式,缺乏更深層次的突破。《Java核心技術捲II:高級特性(原書第10版)》的齣現,正好給瞭我一個重新審視和提升的機會。這本書的內容涉及到瞭許多我平時接觸不多,但又非常核心的領域。我尤其期待它在並發編程部分的內容,例如Java內存模型(JMM)的詳細闡述,以及各種並發工具類(如Semaphore、CountDownLatch、CyclicBarrier等)的應用場景和原理分析。這對於我目前正在參與的一個高並發係統的優化項目非常有幫助。此外,書中關於網絡編程和IO流的深度講解,也讓我看到瞭提升網絡通信效率和處理大數據量的新思路。我覺得,這本書的價值在於,它能幫助我跳齣日常的“搬磚”思維,去思考更底層的設計和性能優化,從而在技術上實現“破壁”。

評分

我一直覺得,學習編程語言,尤其是像Java這樣成熟的語言,光是掌握語法和API是遠遠不夠的,更重要的是理解其設計哲學和背後的原理。《Java核心技術捲II:高級特性(原書第10版)》恰好在這方麵做得非常齣色。這本書不僅僅是羅列各種高級特性,而是將它們置於一個更宏觀的Java生態係統中進行解讀。例如,關於泛型的介紹,它會讓你明白泛型不僅僅是代碼的簡潔化,更是為瞭在編譯時進行類型檢查,從而避免運行時齣現ClassCastException,這背後涉及到瞭類型擦除的機製,非常有意思。再比如,對注解的講解,它會引導你去思考注解在元編程、框架開發中的巨大作用,不僅僅是簡單的標記,而是可以驅動代碼生成和行為。我對書中關於反射機製的論述特彆感興趣,這無疑是Java強大的動態性的重要體現,能夠實現很多框架和工具的核心功能。這本書給我最大的感受就是,它在幫你構建一個堅實的Java知識體係,讓你知其然,更知其所以然。

評分

我個人對那種“學完就能直接上手項目”的速成類書籍不太感冒,更傾嚮於那些能幫助我建立紮實理論基礎、理解事物本質的書籍。《Java核心技術捲II:高級特性(原書第10版)》正好符閤我的口味。雖然說它內容“高級”,但其講解方式非常到位,循序漸進。我印象比較深刻的是它關於“類加載機製”的描述,不僅僅是告訴你加載過程,還會深入到類加載器的層級、雙親委派模型等,這對於理解Java的動態性、插件化開發等非常有啓發。同樣,在講到“反射”時,它會結閤實際應用場景,讓你明白為什麼需要在某些時候繞過編譯期的類型檢查,以及如何安全有效地使用反射。這本書的優勢在於,它提供的知識點不僅僅是孤立的,而是能夠互相串聯,幫助你構建一個完整的Java知識圖譜。我期待通過這本書,能進一步提升自己對Java語言的理解深度,在未來的開發中,能夠做齣更具創造性和高性能的解決方案。

評分

這次入手瞭《Java核心技術捲II:高級特性(原書第10版)》,不得不說,這本書確實是Java領域的重量級選手。我當初選擇它,很大程度上是因為它在業界積纍的口碑,身邊不少資深開發者都推薦過。雖然我纔剛開始啃,但從目錄和前幾章的內容來看,它對Java語言底層機製的剖析絕對是深入淺齣的。比如,它對JVM內存模型、垃圾迴收機製的講解,就不是那種點到為止的科普,而是刨根問底,讓你理解“為什麼”和“怎麼做”。這對於想要深入理解Java性能調優、編寫健壯高並發程序的我來說,簡直是雪中送炭。書中豐富的案例和代碼示例,也幫助我將理論知識轉化為實際操作,這一點非常棒。我特彆期待後麵關於並發編程、網絡編程和高級IO的部分,感覺會給我帶來很多新的啓發,讓我能更從容地應對各種復雜的開發場景。目前為止,感覺這本書的排版也比較清晰,印刷質量也很好,閱讀起來體驗很不錯。

評分

放下玩具 舉起雙手 都沒有微辭

評分

努力讀書,努力學習,京東送貨速度非常快,支持啦!

評分

患得患失甩手掌櫃在共商國是該公司哈哈

評分

他卻依然對現實放肆 等著美麗的故事被腐蝕

評分

經常網購,總有大量包裹要收,感覺寫評論花掉瞭我大量的時間和精力!所以在一段時間裏,我總是覺得好想不去評論或者隨便寫寫!但是,有點對不住那些辛苦工作的賣傢客服、倉管、老闆。於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵,以示感謝和尊敬!首先,寶貝的性價比很高,每次都會先試試再評價的,雖然寶貝不一定是最好的,但是在同等價位裏麵絕對是最棒的。京東的配送絕對是一流的,送貨速度快,配送員服務態度好,每樣東西都是送貨上門。希望京東能夠再接再厲,做得更好更大,提供更多的好東西給大傢,為京東的商品和服務點贊!

評分

京東購書,放心。書的包裝完好,好評,剩下的任務就是讀書啦

評分

最後的好夢 漸漸消失

評分

東西不錯!快遞小哥辛苦瞭!

評分

聽說必須要十個字纔能得京豆

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有