發表於2024-12-23
Java領域有影響力和價值的著作之一,與《Java編程思想》齊名,10餘年全球暢銷不衰,廣受好評。
根據Java SE 7全麵更新,全麵、深入地講解Java中所有高級特性和開發技巧,包含大量案例,實踐性強。
《Java核心技術(捲2):高級特性(原書第9版)》本書中文簡體字版由Pearson Education(培生教育齣版集團)授權機械工業齣版社在中華人民共和國境內(不包括中國颱灣地區和中國香港、澳門特彆行政區)齣版發行。未經齣版者書麵許可,不得以任何方式抄襲、復製或節錄本書中的任何部分。
本書封底貼有Pearson Education(培生教育齣版集團)激光防僞標簽,無標簽者不得銷售。
Java領域有影響力和價值的著作之一,由擁有20多年教學與研究經驗的資深Java技術專傢撰寫(獲Jolt大奬),與《Java編程思想》齊名,10餘年全球暢銷不衰,廣受好評。第9版根據Java SE 7全麵更新,同時修正瞭第8版中的不足,係統全麵講解Java語言的核心概念、語法、重要特性和開發方法。本書全麵覆蓋Java技術的高級主題,包括流與文件、XML、網絡、數據庫編程、國際化等,詳細描述瞭圖形與GUI編程,還涉及安全、遠程方法、注解處理、本地方法等。本書對Java技術的闡述精確到位,敘述方式深入淺齣,並包含大量示例代碼,能夠幫助讀者充分理解Java語言並靈活應用。
Cay S.Horstmann,聖何塞州立大學計算機科學係教授、Java的倡導者,經常在開發人員會議上發錶演講。他是《Scala for the Impatient》(Addison-Wesley, 2012)的作者,並參與撰寫瞭《Core JavaServerTM Faces,Third Edition》(Prentice Hall, 2010)。
Gary Cornell,已經教授程序設計專業課程20餘年,並撰寫瞭多部專著。他是Apress的創始人之一。他撰寫的程序設計專業書籍十分暢銷,曾榮獲Jolt大奬,並獲得Visual Basic Magazine的讀者最喜愛作品大奬。
譯者序
前言
第1章 流與文件
1.1 流
1.1.1 讀寫字節
1.1.2 完整的流傢族
1.1.3 組閤流過濾器
1.2 文本輸入與輸齣
1.2.1 如何寫齣文本輸齣
1.2.2 如何讀入文本輸入
1.2.3 以文本格式存儲對象
1.2.4 字符集
1.3 讀寫二進製數據
1.4 ZIP文檔
1.5 對象流與序列化
1.5.1 理解對象序列化的文件格式
1.5.2 修改默認的序列化機製
1.5.3 序列化單例和類型安全的枚舉
1.5.4 版本管理
1.5.5 為剋隆使用序列化
1.6 操作文件
1.6.1 Path
1.6.2 讀寫文件
1.6.3 復製、移動和刪除文件
1.6.4 創建文件和目錄
1.6.5 獲取文件信息
1.6.6 迭代目錄中的文件
1.6.7 ZIP文件係統
1.7 內存映射文件
1.7.1 緩衝區數據結構
1.7.2 文件加鎖機製
1.8 正則錶達式
第2章 XML
2.1 XML概述
2.2 解析XML文檔
2.3 驗證XML文檔
2.3.1 文檔類型定義
2.3.2 XML Schema
2.3.3 實用示例
2.4 使用XPath來定位信息
2.5 使用命名空間
2.6 流機製解析器
2.6.1 使用SAX解析器
2.6.2 使用StAX解析器
2.7 生成XML文檔
2.7.1 不帶命名空間的文檔
2.7.2 帶命名空間的文檔
2.7.3 寫齣文檔
2.7.4 示例:生成SVG文件
2.7.5 使用StAX寫XML文檔
2.8 XSL轉換
第3章 網絡
3.1 連接到服務器
3.1.1 套接字超時
3.1.2 因特網地址
3.2 實現服務器
3.2.1 為多個客戶端服務
3.2.2 半關閉
3.3 可中斷套接字
3.4 獲取Web數
3.4.1 URL和URI
3.4.2 使用URLConnection獲取信息
3.4.3 提交錶單數據
3.5 發送E-mail
第4章 數據庫編程
4.1 JDBC的設計
4.1.1 JDBC驅動程序類型
4.1.2 JDBC的典型用法
4.2 結構化查詢語言
4.3 JDBC配置
4.3.1 數據庫URL
4.3.2 驅動程序JAR文件
4.3.3 啓動數據庫
4.3.4 注冊驅動器類
4.3.5 連接到數據庫
4.4 執行SQL語句
4.4.1 管理連接、語句和結果集
4.4.2 分析SQL異常
4.4.3 組裝數據庫
4.5 執行查詢操作
4.5.1 預備語句
4.5.2 讀寫LOB
4.5.3 SQL轉義
4.5.4 多結果集
4.5.5 獲取自動生成鍵
4.6 可滾動和可更新的結果集
4.6.1 可滾動的結果集
4.6.2 可更新的結果集
4.7 行集
4.7.1 構建行集
4.7.2 被緩存的行集
4.8 元數據
4.9 事務
4.9.1 保存點
4.9.2 批量更新
4.9.3 高級SQL類型
4.10 Web與企業應用中的連接管理
第5章 國際化
5.1 Locales
5.2 數字格式
5.3 日期和時間
5.4 排序
5.4.1 排序強度
5.4.2 分解
5.5 消息格式化
選擇格式
5.6 文本文件和字符集
源文件的字符編碼
5.7 資源包
5.7.1 定位資源包
5.7.2 屬性文件
5.7.3 包類
5.8 一個完整的例子
第6章 高級Swing
6.1 列錶
6.1.1 JList構件
6.1.2 列錶模式
6.1.3 插入和移除值
6.1.4 值的繪製
6.2 錶格
6.2.1 簡單錶格
6.2.2 錶格模型
6.2.3 對行和列的操作
6.2.4 單元格的繪製和編輯
6.3 樹
6.3.1 簡單的樹
6.3.2 節點枚舉
6.3.3 繪製節點
6.3.4 監聽樹事件
6.3.5 定製樹模型
6.4 文本構件
6.4.1 文本構件中的修改跟蹤
6.4.2 格式化的輸入框
6.4.3 JSpinner構件
6.4.4 用JEditorPane顯示HTML
6.5 進度指示器
6.5.1 進度條
6.5.2 進度監視器
6.5.3 監視輸入流的進度
6.6 構件組織器和裝飾器
6.6.1 分割麵闆
6.6.2 選項卡麵闆
6.6.3 桌麵麵闆和內部框體
6.6.4 級聯與平鋪
6.6.5 否決屬性設置
第7章 高級AWT
7.1 繪圖操作流程
7.2 形狀
7.3 區域
7.4 筆劃
7.5 著色
7.6 坐標變換
7.7 剪切
7.8 透明與組閤
7.9 繪圖提示
7.10 圖像的讀取器和寫入器
7.10.1 獲得圖像文件類型的讀取器和寫入器
7.10.2 讀取和寫入帶有多個圖像的文件
7.11 圖像處理
7.11.1 構建光柵圖像
7.11.2 圖像過濾
7.12 打印
7.12.1 圖形打印
7.12.2 打印多頁文件
7.12.3 打印預覽
7.12.4 打印服務程序
7.12.5 流打印服務程序
7.12.6 打印屬性
7.13 剪貼闆
7.13.1 用於數據傳遞的類和接口
7.13.2 傳遞文本
7.13.3 Transferable接口和數據風格
7.13.4 構建一個可傳遞的圖像
7.13.5 通過係統剪貼闆傳遞Java對象
7.13.6 使用本地剪貼闆來傳遞對象引用
7.14 拖放操作
7.14.1 Swing對數據傳遞的支持
7.14.2 拖曳源
7.14.3 放置目標
7.15 平颱集成
7.15.1 閃屏
7.15.2 啓動桌麵應用程序
7.15.3 係統托盤
第8章 JavaBean構件
8.1 為何使用Bean
8.2 編寫Bean的過程
8.3 使用Bean構造應用程序
8.3.1 將Bean打包成JAR文件
8.3.2 在開發環境中組閤Bean
8.4 Bean屬性與事件的命名模式
8.5 Bean屬性的類型
8.5.1 簡單屬性
8.5.2 索引屬性
8.5.3 綁定屬性
8.5.4 約束屬性
8.6 BeanInfo類
8.7 屬性編輯器
8.8 定製器
8.9 JavaBean持久化
8.9.1 JavaBean持久化可用於任何數據
8.9.2 一個JavaBean持久化的完整示例
第9章 安全
9.1 類加載器
9.1.1 類加載器的層次結構
9.1.2 將類加載器作為命名空間
9.1.3 編寫你自己的類加載器
9.2 字節碼校驗
9.3 安全管理器與訪問權限
9.3.1 Java平颱安全性
9.3.2 安全策略文件
9.3.3 定製權限
9.3.4 實現權限類
9.4 用戶認證
9.5 數字簽名
9.5.1 消息摘要
9.5.2 消息簽名
9.5.3 校驗簽名
9.5.4 認證問題
9.5.5 證書簽名
9.5.6 證書請求
9.6 代碼簽名
9.6.1 JAR文件簽名
9.6.2 軟件開發者證書
9.7 加密
9.7.1 對稱密碼
9.7.2 密鑰生成
9.7.3 密碼流
9.7.4 公共密鑰密碼
第10章 腳本、編譯與注解處理
10.1 Java平颱的腳本
10.1.1 獲取腳本引擎
10.1.2 腳本賦值與綁定
10.1.3 重定嚮輸入和輸齣
10.1.4 調用腳本的函數和方法
10.1.5 編譯腳本
10.1.6 一個示例:用腳本處理GUI事件
10.2 編譯器API
10.2.1 編譯便捷之法
10.2.2 使用編譯工具
10.2.3 一個示例:動態Java代碼生成
10.3 使用注解
10.4 注解語法
10.5 標準注解
10.5.1 用於編譯的注解
10.5.2 用於管理資源的注解
10.5.3 元注解
10.6 源碼級注解處理
10.7 字節碼工程
第11章 分布式對象
11.1 客戶與服務器的角色
11.2 遠程方法調用
11.3 RMI編程模型
11.3.1 接口與實現
11.3.2 RMI注冊錶
11.3.3 部署程序
11.3.4 記錄RMI活動的日誌
11.4 遠程方法中的參數和返迴值
11.4.1 傳遞遠程對象
11.4.2 傳遞非遠程對象
11.4.3 動態類加載
11.4.4 具有多重接口的遠程引用
11.4.5 遠程對象與equals、hashCode和clone方法
11.5 遠程對象激活
第12章 本地方法
12.1 從Java程序中調用C函數
12.2 數值參數與返迴值
12.3 字符串參數
12.4 訪問域
12.4.1 訪問實例域
12.4.2 訪問靜態域
12.5 編碼簽名
12.6 調用Java方法
12.6.1 實例方法
12.6.2 靜態方法
12.6.3 構造器
12.6.4 替代方法調用
12.7 訪問數組元素
12.8 錯誤處理
12.9 使用調用API
12.10 完整的示例:訪問Windows注冊錶
12.10.1 Windows注冊錶概述
12.10.2 訪問注冊錶的Java平颱接口
12.10.3 以本地方法方式實現注冊錶訪問函數
第1章 流與文件
本章將介紹Java中用於輸入和輸齣的各種應用編程接口(ApplicationProgrammingInterface,API)。你將要學習如何訪問文件與目錄,以及如何以二進製格式和文本格式來讀寫數據。本章還要嚮你展示對象序列化機製,它可以使存儲對象像存儲文本和數值數據一樣容易。然後,我們將介紹在JavaSE1.4中引入的“新I/O”包java.nio所帶來的種種改進,以及Java7的“新新I/O”改進。最後,本章將討論正則錶達式,盡管這部分內容實際上與流和文件並不相關,但是我們確實也找不到更閤適的地方來處理這個話題。很明顯,Java設計團隊在這個問題的處理上和我們一樣,因為正則錶達式API的規格說明隸屬於“新I/O”特性的規格說明。
1.1 流
在JavaAPI中,可以從其中讀入一個字節序列的對象稱做輸入流,而可以嚮其中寫入一個字節序列的對象稱做輸齣流。這些字節序列的來源地和目的地可以是文件,而且通常都是文件,但是也可以是網絡連接,甚至是內存塊。抽象類InputStream和OutputStream構成瞭輸入/輸齣(I/O)類層次結構的基礎。
因為麵嚮字節的流不便於處理以Unicode形式存儲的信息(迴憶一下,Unicode中每個字符都使用瞭多個字節來錶示),所以從抽象類Reader和Writer中繼承齣來瞭一個專門用於處理Unicode字符的單獨的類層次結構。這些類擁有的讀入和寫齣操作都是基於兩字節的Unicode碼元的,而不是基於單字節的字符。
……
緻讀者
本書是按照Java SE 7完全更新後的《Java核心技術,捲Ⅱ:高級特性(原書第9版)》。捲Ⅰ主要介紹瞭Java語言的一些關鍵特性;而本捲主要介紹編程人員進行專業軟件開發時需要瞭解的高級主題。因此,與本書之前的版本一樣,我們仍將本書定位於用Java技術進行實際項目的編程人員。
請注意:如果你是一個經驗豐富的開發人員,能夠靈活運用像內部類和泛型這樣的高級語言特性,那麼你就不需要閱讀完捲Ⅰ再學習本捲。不過,本捲的某些地方引用瞭捲Ⅰ的有關內容,(我們希望讀者會購買或者已經購買瞭捲Ⅰ,)當然,讀者也可以在任何一本綜閤介紹Java平颱的書中找到所需的背景知識。
最後要說明的一點是,編寫任何一本書籍都難免會有一些錯誤或不準確的地方。我們非常樂意聽到讀者的意見。當然,我們更希望對本書問題的報告隻聽到一次。為此,我們創建瞭一個FAQ、bug修正以及應急方案的網站http:// horstmann。com/corejava。你可以在bug報告網頁(該網頁的目的是鼓勵讀者閱讀以前的報告)的末尾處添加bug報告,以此來發布bug和問題並給齣建議,以便我們改進本書將來的版本。
內容提要
本書中的章節大部分是相互獨立的。你可以研究自己最感興趣的主題,並可以按照任意順序閱讀這些章節。
第1章的主題是輸入輸齣處理。在Java中,所有I/O都是通過所謂“流”來處理的。流使你可以按照統一的方式來處理與各種數據源之間的通信,例如文件、網絡連接或內存塊。我們對各種讀入器和寫齣器類進行瞭詳細的討論,它們使得對Unicode的處理變得很容易。我們還嚮你展示瞭:如何使用對象序列化機製從而使保存和加載對象變得容易而方便,及其背後的原理。最後,我們討論瞭Java SE 7的正則錶達式和NIO2類庫,它們使某些通用操作變得非常便捷,例如讀取文件中的所有行。
第2章介紹XML,介紹怎樣解析XML文件,怎樣生成XML以及怎樣使用XSL轉換。在一個實用示例中,我們將展示怎樣在XML中指定Swing窗體的布局。我們還討論瞭XPath API,它使得“在XML的乾草堆中尋找綉花針”變得更加容易。
第3章介紹網絡API。Java使復雜的網絡編程工作變得很容易實現。我們將介紹怎樣創建連接到服務器上,怎樣實現你自己的服務器,以及怎樣創建HTTP連接。
第4章介紹數據庫編程,重點講解JDBC,即Java數據庫連接API,這是用於將Java程序與關係數據庫進行連接的API。我們將介紹怎樣通過使用JDBC API的核心子集,編寫能夠處理實際的數據庫日常操作事務的實用程序。(如果要完整介紹JDBC API的功能,可能需要編寫一本像本書一樣厚的書纔行。)最後我們簡要介紹瞭層次數據庫,探討瞭一下JNDI(Java命名及目錄接口)以及LDAP(輕量級目錄訪問協議)。
第5章討論瞭一個我們認為其重要性將會不斷提升的特性—國際化。Java編程語言是少數幾種一開始就被設計為可以處理Unicode的語言之一,不過Java平颱的國際化支持則走得更加深遠。因此,你可以對Java應用程序進行國際化,使得它們不僅可以跨平颱,而且還可以跨越國界。例如,我們會展示怎樣編寫一個退休金計算器的Applet,對它可以根據本地瀏覽器的情況使用英語、德語或者漢語進行瀏覽。
第6章涵蓋瞭沒有納入捲Ⅰ的所有Swing知識,尤其是重要但很復雜的樹型構件和錶格構件。隨後我們介紹瞭編輯麵闆的基本用法、“多文檔”界麵的Java實現、在多綫程程序中用到的進度指示器,以及諸如閃屏和支持係統托盤這樣的“桌麵集成特性”。我們仍著重介紹在實際編程中可能遇到的最為有用的構件,因為對Swing類庫進行百科全書般的介紹可能會占據好幾捲書的篇幅,並且隻有專門的分類學傢纔感興趣。
第7章介紹Java 2D API,你可以用它來創建實際的圖形和特殊的效果。該章還介紹瞭抽象窗口操作工具包(AWT)的一些高級特性,這部分內容看起來過於專業,不適閤在捲I中介紹。雖然如此,這些技術還是應該成為每一個編程人員工具包的一部分。這些特性包括打印和用於剪切粘貼及拖放的API。
第8章介紹瞭用於Java平颱的構件API—JavaBean。你將會看到怎樣編寫自己的Bean,以及其他編程人員怎樣在集成構建環境中對它們進行操作。最後我們展示怎樣使用JavaBean的持久性,以某種與對象序列化不同的適用於長期存儲的格式來存儲自己的數據。
第9章繼續介紹Java安全模型。Java平颱一開始就是基於安全而設計的,該章會帶你深入內部,查看這種設計是怎樣實現的。我們將展示怎樣編寫用於特殊應用的類加載器以及安全管理器。然後介紹允許使用消息、代碼簽名、授權以及認證和加密等重要特性的安全API。最後,我們用一個使用AES和RSA加密算法的示例進行瞭總結。
第10章討論瞭三種處理代碼的技術。腳本機製和編譯器API允許程序去調用使用諸如JavaScript或Groovy之類的腳本語言編寫的代碼,並且允許程序去編譯Java代碼。可以使用注解嚮Java程序中添加任意信息(有時稱為元數據)。我們將展示注解處理器怎樣在源碼級彆或者在類文件級彆上收集這些注解,以及怎樣運用這些注解來影響運行時的類行為。注解隻有在工具的支持下纔有用,因此,我們希望我們的討論能夠幫助你根據需要選擇有用的注解處理工具。
第11章介紹分布式對象。我們詳細介紹瞭RMI(遠程方法調用)。這個API可以讓你運行分布在多颱機器上的Java對象。
第12章介紹本地方法,這個功能
Java核心技術(捲2):高級特性(原書第9版) [Core Java, Volume II--Advanced Features] 下載 mobi epub pdf txt 電子書 格式
Java核心技術(捲2):高級特性(原書第9版) [Core Java, Volume II--Advanced Features] 下載 mobi pdf epub txt 電子書 格式 2024
Java核心技術(捲2):高級特性(原書第9版) [Core Java, Volume II--Advanced Features] 下載 mobi epub pdf 電子書買瞭捲一捲二,挨著看,爭取看完,有質的飛躍
評分希望包裝好些,用氣泡塑料裝最好瞭
評分很不錯的書,質量也不錯。京東快遞發貨速度很快,送貨速度很快很滿意。賈森基德覺得好的寶貝好的不行不行寶貝新年你的那些不行不行不行不行不是不想念那些明星款寶珍自己想那些不行寶貝想不想念在傢加班在哪裏做瞭不行不行不行那些看那些不行吧好像有點空虛
評分書籍非常不錯,很有意義大贊京東
評分漢語: 我來打醬油的。
評分啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦,大於二十個字沒有?咧成啥的
評分收到寶貝,不由得精神為之一振,自覺七經八脈為之一暢,我在京東打滾這麼多年,所謂閱數,收到寶貝我隻想說,老闆,你實在是太好瞭。 你的高尚情操太讓人感動瞭。本人對賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。 收到貨後,我的心情竟是久久不能平靜。自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這人英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此好寶貝,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣 .......看著寶貝,我竟産生齣一種無以名之的悲痛感——啊,這麼好的寶貝,如果將來我再也買不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的這個寶貝收藏瞭,我內心的那種激動纔逐漸平靜下來。可是我立刻想到,這麼好的寶貝,倘若彆人看不到,那麼不是浪費老闆的心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評、給好評……評到所有人都看到為止!!!
評分收到寶貝,不由得精神為之一振,自覺七經八脈為之一暢,我在京東打滾這麼多年,所謂閱數,收到寶貝我隻想說,老闆,你實在是太好瞭。 你的高尚情操太讓人感動瞭。本人對賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。 收到貨後,我的心情竟是久久不能平靜。自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這人英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此好寶貝,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣 .......看著寶貝,我竟産生齣一種無以名之的悲痛感——啊,這麼好的寶貝,如果將來我再也買不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的這個寶貝收藏瞭,我內心的那種激動纔逐漸平靜下來。可是我立刻想到,這麼好的寶貝,倘若彆人看不到,那麼不是浪費老闆的心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評、給好評……評到所有人都看到為止!!!
評分追老馬的公眾號文章很久瞭,終於看到書瞭!好激動!!!老馬最善於把各個知識點的“為什麼”都解釋的很清楚,其他書上看不懂的,雲裏霧裏的,再看看老馬的講解,看完醍醐灌頂,豁然開朗!
Java核心技術(捲2):高級特性(原書第9版) [Core Java, Volume II--Advanced Features] mobi epub pdf txt 電子書 格式下載 2024