最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Java核心技術(shù) 卷II 高級(jí)特性 原書第12版

2023-04-08 11:29 作者:劉小六六不六  | 我要投稿

鏈接:https://pan.baidu.com/s/15yKKnHu4kfns6hzJBIzdww?pwd=h7e7?

提取碼:h7e7


內(nèi)容簡介

本書由獲Jolt大獎(jiǎng)并擁有20多年教學(xué)與研究經(jīng)驗(yàn)的資深Java技術(shù)專家撰寫,針對Java 17進(jìn)行了全面更新。
 
全書共分12章。
第1章介紹了Java中的流。
第2章涵蓋了輸入/輸出處理,包括讀寫文件和正則表達(dá)式。
第3章介紹了XML,展示如何解析XML文件、生成XML和使用XSL轉(zhuǎn)換。
第4章講解了網(wǎng)絡(luò)API,以及怎樣連接到服務(wù)器、實(shí)現(xiàn)自己的服務(wù)器、創(chuàng)建HTTP連接,并討論了HTTP客戶端。
第5章介紹了數(shù)據(jù)庫編程,重點(diǎn)講解JDBC,即Java數(shù)據(jù)庫連接API。
第6章涵蓋了如何使用日期和時(shí)間API來處理日期及時(shí)區(qū)。
第7章討論了國際化。
第8章介紹了3種代碼處理技術(shù)。
第9章講解了從Java 9開始引入的Java平臺(tái)模塊系統(tǒng),以促進(jìn)Java平臺(tái)和核心類庫的有序演化。
第10章繼續(xù)介紹了Java安全模型,展示怎樣編寫類加載器,以及如何使用消息摘要、代碼簽名、授權(quán)及加密等重要特性。
第11章討論了高級(jí)Swing和圖形化編程,包括表格構(gòu)件、樹構(gòu)件、高級(jí)AWT,以及Java 2D API。
第12章介紹了本地方法,這個(gè)功能支持調(diào)用為微軟Windows API這樣的特殊機(jī)制而編寫的各種方法。

作者簡介

凱·S. 霍斯特曼(Cay S. Horstmann)
美國圣何塞州立大學(xué)計(jì)算機(jī)科學(xué)系教授、Java技術(shù)的堅(jiān)定倡導(dǎo)者、國際計(jì)算機(jī)協(xié)會(huì)(ACM)計(jì)算機(jī)教育貢獻(xiàn)杰出會(huì)士,常年在國際上的各類計(jì)算機(jī)峰會(huì)上進(jìn)行技術(shù)分享,為硅谷輸送計(jì)算機(jī)專業(yè)人才30余年。他是《Java核心技術(shù)》兩卷本的作者,并著有Core Java SE 9 for the Impatient, Second Edition(Addison-Wesley, 2018)和Scala for the Impatient, Second Edition(Addison- Wesley, 2017)。他還為專業(yè)程序員和計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生撰寫過數(shù)十本其他圖書。

目錄

譯者序
前言
致謝

第1章 流 1
1.1 從迭代到流的操作 1
1.2 流的創(chuàng)建 3
1.3 f?ilter、map和f?latMap方法 8
1.4 抽取子流和組合流 10
1.5 其他的流轉(zhuǎn)換 11
1.6 簡單約簡 12
1.7 Optional類型 13
1.7.1 獲取Optional值 13
1.7.2 消費(fèi)Optional值 14
1.7.3 管道化Optional值 15
1.7.4 不適合使用Optional值的方式 15
1.7.5 創(chuàng)建Optional值 17
1.7.6 用f?latMap構(gòu)建Optional值的
      函數(shù) 17
1.7.7 將Optional轉(zhuǎn)換為流 18
1.8 收集結(jié)果 20
1.9 收集到映射表中 24
1.10 群組和分區(qū) 27
1.11 下游收集器 28
1.12 約簡操作 33
1.13 基本類型流 34
1.14 并行流 39
第2章 輸入與輸出 43
2.1 輸入/輸出流 43
2.1.1 讀寫字節(jié) 43
2.1.2 完整的流家族 46
2.1.3 組合輸入/輸出流過濾器 50
2.1.4 文本輸入與輸出 53
2.1.5 如何寫出文本輸出 53
2.1.6 如何讀入文本輸入 55
2.1.7 以文本格式存儲(chǔ)對象 56
2.1.8 字符編碼方式 59
2.2 讀寫二進(jìn)制數(shù)據(jù) 61
2.2.1 DataInput和DataOutput接口 61
2.2.2 隨機(jī)訪問文件 63
2.2.3 ZIP文檔 67
2.3 對象輸入/輸出流與序列化 70
2.3.1 保存和加載序列化對象 70
2.3.2 理解對象序列化的文件格式 74
2.3.3 修改默認(rèn)的序列化機(jī)制 79
2.3.4 readResolve和writeReplace方法 82
2.3.5 版本管理 84
2.3.6 為克隆使用序列化 86
2.3.7 反序列化和安全 88
2.4 操作文件 90
2.4.1 Path 90
2.4.2 讀寫文件 92
2.4.3 創(chuàng)建文件和目錄 93
2.4.4 復(fù)制、移動(dòng)和刪除文件 94
2.4.5 獲取文件信息 96
2.4.6 訪問目錄中的項(xiàng) 97
2.4.7 使用目錄流 98
2.4.8 ZIP文件系統(tǒng) 101
2.5 內(nèi)存映射文件 102
2.5.1 內(nèi)存映射文件的性能 102
2.5.2 緩沖區(qū)數(shù)據(jù)結(jié)構(gòu) 108
2.6 文件加鎖機(jī)制 110
2.7 正則表達(dá)式 112
2.7.1 正則表達(dá)式語法 112
2.7.2 匹配整個(gè)字符串 115
2.7.3 找出字符串中的所有匹配 116
2.7.4 群組 117
2.7.5 用分隔符來分割 119
2.7.6 替換匹配 120
2.7.7 標(biāo)志 120
第3章 XML 124
3.1 XML概述 124
3.2 XML文檔的結(jié)構(gòu) 126
3.3 解析XML文檔 128
3.4 驗(yàn)證XML文檔 137
3.4.1 文檔類型定義 137
3.4.2 XML Schema 144
3.4.3 一個(gè)實(shí)踐示例 146
3.5 使用XPath來定位信息 152
3.6 使用命名空間 156
3.7 流機(jī)制解析器 158
3.7.1 使用SAX解析器 158
3.7.2 使用StAX解析器 163
3.8 生成XML文檔 166
3.8.1 不帶命名空間的文檔 166
3.8.2 帶命名空間的文檔 167
3.8.3 寫出文檔 167
3.8.4 使用StAX寫出XML文檔 169
3.8.5 示例:生成SVG文件 174
3.9 XSL轉(zhuǎn)換 175
第4章 網(wǎng)絡(luò) 184
4.1 連接到服務(wù)器 184
4.1.1 使用telnet 184
4.1.2 用Java連接到服務(wù)器 186
4.1.3 套接字超時(shí) 188
4.1.4 因特網(wǎng)地址 189
4.2 實(shí)現(xiàn)服務(wù)器 190
4.2.1 服務(wù)器套接字 190
4.2.2 為多個(gè)客戶端服務(wù) 193
4.2.3 半關(guān)閉 196
4.2.4 可中斷套接字 197
4.3 獲取Web數(shù)據(jù) 203
4.3.1 URL和URI 203
4.3.2 使用URLConnection獲取信息 205
4.3.3 提交表單數(shù)據(jù) 211
4.4 HTTP客戶端 219
4.4.1 HttpClient類 219
4.4.2 HttpRequest類和體發(fā)布器 220
4.4.3 HttpResponse接口和體處理器 220
4.4.4 異步處理 221
4.5 發(fā)送E-mail 226
第5章 數(shù)據(jù)庫編程 229
5.1 JDBC的設(shè)計(jì) 229
5.1.1 JDBC驅(qū)動(dòng)程序類型 230
5.1.2 JDBC的典型用法 231
5.2 結(jié)構(gòu)化查詢語言 231
5.3 JDBC配置 236
5.3.1 數(shù)據(jù)庫URL 236
5.3.2 驅(qū)動(dòng)程序JAR文件 237
5.3.3 啟動(dòng)數(shù)據(jù)庫 237
5.3.4 注冊驅(qū)動(dòng)器類 238
5.3.5 連接到數(shù)據(jù)庫 238
5.4 使用JDBC語句 241
5.4.1 執(zhí)行SQL語句 241
5.4.2 管理連接、語句和結(jié)果集 244
5.4.3 分析SQL異?!?44
5.4.4 組裝數(shù)據(jù)庫 246
5.5 執(zhí)行查詢操作 250
5.5.1 預(yù)備語句 250
5.5.2 讀寫LOB 256
5.5.3 SQL轉(zhuǎn)義 257
5.5.4 多結(jié)果集 259
5.5.5 獲取自動(dòng)生成的鍵 260
5.6 可滾動(dòng)和可更新的結(jié)果集 260
5.6.1 可滾動(dòng)的結(jié)果集 260
5.6.2 可更新的結(jié)果集 262
5.7 行集 265
5.7.1 構(gòu)建行集 266
5.7.2 被緩存的行集 266
5.8 元數(shù)據(jù) 269
......

查看全部↓

前言/序言

致讀者
本書是完整更新到Java 17的《Java核心技術(shù)》第12版的卷Ⅱ。卷Ⅰ主要介紹了Java語言的一些關(guān)鍵特性,而本卷主要介紹編程人員進(jìn)行專業(yè)軟件開發(fā)時(shí)需要了解的高級(jí)主題。因此,與卷Ⅰ和之前的版本一樣,我們?nèi)詫⒈緯x者定位于用Java技術(shù)進(jìn)行實(shí)際項(xiàng)目開發(fā)的編程人員。
編寫任何一本書都難免會(huì)有一些錯(cuò)誤或不準(zhǔn)確的地方。我們非常樂意聽到讀者的意見。當(dāng)然,我們更希望對相同問題的報(bào)告只出現(xiàn)一次。為此,我們創(chuàng)建了一個(gè)關(guān)于FAQ、bug修正以及應(yīng)急方案的網(wǎng)站http:// horstmann.com/corejava。你可以在bug報(bào)告網(wǎng)頁的末尾處(鼓勵(lì)讀者閱讀以前的報(bào)告)添加bug報(bào)告,以此來發(fā)布bug和問題并給出建議,以便我們提高本書未來版本的質(zhì)量。
內(nèi)容提要
本書中的章節(jié)大部分是相互獨(dú)立的。你可以研究自己最感興趣的主題,并可以按照任意順序閱讀這些章節(jié)。
在第1章中,你將學(xué)習(xí)Java的流,它帶來了現(xiàn)代風(fēng)格的數(shù)據(jù)處理機(jī)制,即只需要指定想要的結(jié)果,而無須詳細(xì)描述應(yīng)該如何獲得該結(jié)果。這使得流可以專注于優(yōu)化的計(jì)算策略,對于優(yōu)化并發(fā)計(jì)算來說,這顯得特別有利。
第2章的主題是輸入/輸出處理。在Java中,所有I/O都是通過輸入/輸出流來處理的。這些流(不要與第1章的那些流混淆了)使你可以按照統(tǒng)一的方式來處理與各種數(shù)據(jù)源之間的通信,例如文件、網(wǎng)絡(luò)連接或內(nèi)存塊。我們對各種讀入器和寫出器類進(jìn)行了詳細(xì)的討論,它們使得對Unicode的處理變得很容易。我們還展示了使用對象序列化機(jī)制使保存和加載對象變得容易而方便的方法,以及對象序列化機(jī)制背后的原理。然后,我們討論了正則表達(dá)式以及如何操作文件與路徑。該章通篇都包含了最新的Java版本中引入的廣受歡迎的改進(jìn)和優(yōu)化。
第3章介紹XML,展示怎樣解析XML文件、怎樣生成XML以及怎樣使用XSL轉(zhuǎn)換。在一個(gè)實(shí)用示例中,我們將展示怎樣在XML中指定Swing窗體的布局。我們還討論了XPath API,它使得“在XML的大海中撈針”變得更加容易。
第4章介紹網(wǎng)絡(luò)API。Java使復(fù)雜的網(wǎng)絡(luò)編程工作變得很容易實(shí)現(xiàn)。我們將介紹怎樣連接到服務(wù)器,怎樣實(shí)現(xiàn)你自己的服務(wù)器,以及怎樣創(chuàng)建HTTP連接。該章還討論了新的HTTP客戶端。
第5章介紹數(shù)據(jù)庫編程,重點(diǎn)講解JDBC,即Java數(shù)據(jù)庫連接API,這是用于將Java程序與關(guān)系數(shù)據(jù)庫進(jìn)行連接的API。我們將介紹怎樣通過使用JDBC API的核心子集,編寫能夠處理實(shí)際的數(shù)據(jù)庫日常操作事務(wù)的實(shí)用程序。(如果要完整介紹JDBC API的功能,可能需要編寫一本像本書一樣厚的書才行。)
Java對于處理日期和時(shí)間的類庫做出過兩次設(shè)計(jì),而在Java 8中做出的第三次設(shè)計(jì)則極富魅力。在第6章中,你將學(xué)習(xí)如何使用新的日期和時(shí)間庫來處理日歷和時(shí)區(qū)的復(fù)雜性。
第7章討論一個(gè)我們認(rèn)為其重要性將會(huì)不斷提升的特性—國際化。Java編程語言是少數(shù)幾種一開始就被設(shè)計(jì)為可以處理Unicode的語言之一,不過Java平臺(tái)的國際化支持則走得更遠(yuǎn)。因此,你可以對Java應(yīng)用程序進(jìn)行國際化,使其不僅可以跨平臺(tái),而且還可以跨國界。例如,我們會(huì)展示怎樣編寫一個(gè)使用英語、德語和漢語的退休金計(jì)算器。
第8章討論三種處理代碼的技術(shù)。腳本機(jī)制和編譯器API允許程序去調(diào)用使用諸如JavaScript或Groovy之類的腳本語言編寫的代碼,并且允許程序去編譯Java代碼??梢允褂米⒔庀騄ava程序中添加任意信息(有時(shí)稱為元數(shù)據(jù))。我們將展示注解處理器怎樣在源碼級(jí)別或者類文件級(jí)別上收集注解,以及怎樣運(yùn)用注解來影響運(yùn)行時(shí)的類行為。注解只有在工具的支持下才有用,因此,我們希望這些討論能夠幫助你根據(jù)需要選擇有用的注解處理
工具。
第9章講解從Java 9開始引入的Java平臺(tái)模塊系統(tǒng),以促進(jìn)Java平臺(tái)和核心類庫的有序演化。這個(gè)模塊系統(tǒng)提供了對包的封裝和用于描述模塊需求的機(jī)制。你將學(xué)習(xí)模塊的屬性,以便決定是否要在自己的應(yīng)用程序中使用它們。即使你決定不使用,也需要了解這些新規(guī)則,這樣你才能和Java平臺(tái)以及其他模塊化的類庫交互。
第10章介紹Java安全類庫中的Java安全模型、用戶認(rèn)證和加密功能。你將學(xué)習(xí)有關(guān)消息、代碼簽名、授權(quán)和認(rèn)證以及加密等重要特性。最后,我們以使用AES和RSA加密算法的示例進(jìn)行總結(jié)。
第11章討論沒有納入卷Ⅰ的所有Swing知識(shí),尤其是重要但很復(fù)雜的樹構(gòu)件和表格構(gòu)件。我們還會(huì)介紹Java 2D API,你可以用它來創(chuàng)建寫實(shí)的圖形和特殊的效果。當(dāng)然,如今已經(jīng)沒有多少程序員需要編寫Swing用戶界面了,因此我們會(huì)將注意力放到在服務(wù)器端生成圖像的實(shí)用特性上。
第12章介紹本地方法,這個(gè)功能支持你調(diào)用為微軟Windows API這樣的特定機(jī)器而編寫的各種方法。很顯然,這種特性具有爭議:使用本地方法,那么Java平臺(tái)的跨平臺(tái)特性將會(huì)隨之消失。但是,每個(gè)為特定平臺(tái)編寫Java應(yīng)用程序的專業(yè)開發(fā)人員都需要了解這些技術(shù),因?yàn)橛袝r(shí),當(dāng)你與不支持Java平臺(tái)的設(shè)備或服務(wù)進(jìn)行交互時(shí),為了你的目標(biāo)平臺(tái),你可能需要求助于操作系統(tǒng)API。我們將通過展示如何從某個(gè)Java程序訪問Windows注冊表API來闡明這一點(diǎn)。
所有章節(jié)都按照最新版本的Java進(jìn)行了修訂,過時(shí)的材料都刪除了,對Java 17的新API都詳細(xì)地進(jìn)行了討論。
約定
我們使用等寬字體表示計(jì)算機(jī)代碼,這種格式在眾多的計(jì)算機(jī)書籍中極為常見。各種圖標(biāo)的含義如下:
注釋:需要引起注意的地方。
提示:有用的提示。
警告:關(guān)于缺陷或危險(xiǎn)情況的警告信息。
C++注釋:本書中有許多這類提示,用于解釋Java程序設(shè)計(jì)語言和C++語言之間的不同。如果你對這部分不感興趣,可以跳過。
Java平臺(tái)配備有大量的編程類庫或者應(yīng)用程序編程接口(API)。當(dāng)?shù)谝淮问褂媚硞€(gè)API時(shí),我們在每一節(jié)的末尾都添加了簡短的描述。這些描述可能有點(diǎn)不太規(guī)范,但是比官方在線API文檔更具指導(dǎo)性。類、接口或方法名后面的數(shù)字是JDK的版本,表示在該版本中才引入了相應(yīng)的特性。

Java核心技術(shù) 卷II 高級(jí)特性 原書第12版的評(píng)論 (共 條)

分享到微博請遵守國家法律
铜川市| 玉树县| 龙胜| 榆社县| 通道| 紫云| 阳东县| 云梦县| 句容市| 三都| 武胜县| 平湖市| 沙雅县| 阳朔县| 龙泉市| 桃园市| 沅陵县| 阿荣旗| 潞西市| 常熟市| 南木林县| 长泰县| 宁陕县| 天水市| 阿坝| 丹寨县| 通山县| 汉中市| 庆城县| 肇东市| 宜宾县| 开阳县| 达日县| 浪卡子县| 隆子县| 洪洞县| 周口市| 大新县| 云南省| 凯里市| 天峨县|