編輯推薦
適讀人群 :《Java經典實例(第三版)》廣大Java程序員。 本書對於Java程序員來說是理想的“第二本書”,300個Java應用經典技巧,涵蓋瞭廣泛的Java主題。
內容簡介
《Java經典實例(第三版)》 從lambda錶達式、JavaFX 8,到網絡編程和支持移動設備等方麵,Java 8都有許多更新。包含瞭數百個經過實踐驗證的技巧,內容涵蓋瞭廣泛的Java主題,可幫助你快速進入編程狀態。你可以從中學到一切有用的技術,包括調試、數據結構、GUI開發和函數編程。 的每個技巧既給齣瞭代碼部分,也給齣瞭運行結果,還有對它們的討論。你可以免費使用這些代碼。如果你對Java基礎知識比較熟悉,學習將使你進一步掌握語言方麵的通用知識和Java 8 中主要API方麵的特殊知識。 的主題包括: 1.用於編譯、運行和調試的方法。 對文本的處理、比較和重新安排。 2.用於字符串匹配和模式匹配的正則錶達式。 ?處理數字、日期和時間。 3.使用集閤、數組和其他類型實現數據的結構化。 4.麵嚮對象技術和函數編程技術。 5.目錄和文件係統運算符。 6.使用圖形、視頻和音頻。 7.GUI開發,包括JavaFX和處理器。 8.客戶端和服務器端的網絡編程。 9.數據庫訪問,使用JPA、Hibernate和JDBC。 10.處理JSON和用於數據存儲的XML。 11.多綫程和並發機製。
作者簡介
Ian F.Darwin,已在計算機工業界工作瞭三十年。除瞭編程和提供谘詢,Ian還為Learning Tree International公司講授UNIX、C和Java,這是一傢世界上zui大的培訓公司之一。他還編寫瞭《Checking C Programs with Lint》(O'Reilly 公司齣版)一書,以及超過100篇有關C和UNIX方麵的文章。
內頁插圖
精彩書評
業界評論 “ O’Reilly Radar博客有口皆碑。” ——Wired
“ O’Reilly憑藉一係列(真希望當初我也想到瞭)非凡想法建立瞭數百萬美元的業務。” ——Business 2.0
“ O’Reilly Conference是聚集關鍵思想領袖的絕對典範。” ——CRN
“一本O’Reilly的書就代錶一個有用、有前途、需要學習的主題。” ——Irish Times
“ Tim是位特立獨行的商人,他不光放眼於zui長遠、zui廣闊的視野並且切實地按照Yogi Berra的建議去做瞭:‘如果你在路上遇到岔路口,走小路(岔路)。’迴顧過去Tim似乎每一次都選擇瞭小路,而且有幾次都是一閃即逝的機會,盡管大路也不錯。” ——Linux Journal
目錄
前言. 1
第1章 入門: 編譯、 運行和調試Java程序. 19
1.0 引言 .19
1.1 編譯和運行Java程序: JDK方式20
1.2 用帶語法高亮顯示的編輯器編輯和編譯程序21
1.3 使用IDE編譯、 運行和測試程序22
1.4 有效使用CLASSPATH.30
1.5 下載和使用代碼示例 .32
1.6 使用 Ant工具自動編譯 37
1.7 使用Apache Maven自動設置依賴關係、 編譯、 測試和部署.40
1.8 使用Gradle自動設置依賴關係、 編譯、 測試和部署 .45
1.9 處理過期警告 46
1.10 沒有#ifdef的條件編譯 .48
1.11 使用斷言機製維護程序的正確性.50
1.12 使用JDB調試 .51
1.13 用單元測試避免調試 .53
1.14 用持續集成維護代碼 .56
1.15 獲取可讀迴溯 60
1.16 更多的Java源代碼: 程序、 框架和庫61
第2章 與運行環境交互 65
2.0 引言 .65
2.1 獲得環境變量 65
2.2 從係統屬性獲得信息 .67
2.3 瞭解當前的JDK版本68
2.4 編寫操作係統相關的代碼69
2.5 使用擴展包或其他API包.72
2.6 解析命令行參數 73
第3章 字符串 80
3.0 引言 .80
3.1 用Substring分解字符串 .82
3.2 將字符串分解成詞.83
3.3 用StringBuilder連接字符串 .87
3.4 處理單個字符串 89
3.5字符串對齊 .91
3.6 Unicode字符和String之間的轉換 93
3.7 按單詞或字符顛倒字符串96
3.8 擴展和壓縮Tab 97
3.9 控製字母大小寫 101
3.10 縮排文本文檔 102
3.11 輸入非打印字符 103
3.12 刪除字符串的尾部空格 .104
3.13 解析用逗號分隔的數據 .106
3.14 程序: 一個簡單的文本格式化工具. 110
3.15 程序: Soundex算法. 112
第4章 正則錶達式的模式匹配 116
4.0 引言 . 116
4.1 正則錶達式語法 118
4.2 在Java中使用正則錶達式:測試模式 124
4.3 找到匹配的文本 128
4.4 替換匹配的文本 130
4.5 打印匹配的所有字符串 .132
4.6 打印包含一個模式的行 .134
4.7 在正則錶達式中控製大小寫135
4.8 匹配“ 重音符” 或復閤字符136
4.9 在文本中匹配換行符 .138
4.10 程序:Apache日誌文件解析 .139
4.11 程序: 數據挖掘.141
4.12 程序: 完整的Grep.143
第5章 數字 . 149
5.0 引言 .149
5.1 檢查字符串是否是有效數字151
5.2 用小數據類型儲存大數據類型的數字 .153
5.3 數字與對象的相互轉換 .154
5.4 直接使用分數而不用浮點數155
5.5 保證浮點數的準確.157
5.6 比較浮點數 159
5.7 捨入浮點數 160
5.8 格式化數字 161
5.9 二進製、 八進製、 十進製和十六進製之間的轉換 164
5.10 對整數序列的操作.165
5.11 使用羅馬數字 166
5.12 復數的正確格式化.170
5.13 生成隨機數 172
5.14 計算三角函數 174
5.15 取對數 .175
5.16 矩陣乘法176
5.17 使用復數178
5.18 處理非常大的數字180
5.19 程序: TempConverter182
5.20 程序: 數字迴文.184
第6章 日期和時間——新的API 187
6.0 引言 .187
6.1 查看當天日期 190
6.2 日期和時間的格式化 .191
6.3 日期/時間、 YMDHMS和 紀元秒( Epoch Seconds) 之間的轉換 193
6.4 將字符串解析為日期 .194
6.5 兩個日期之間的差.195
6.6 日期或日曆的加減.196
6.7 與傳統日期和日曆類的接口197
第7章 結構化數據 . 199
7.0 引言 .199
7.1 使用數組200
7.2 調整數組長度 201
7.3 集閤框架203
7.4 動態數組列錶 204
7.5 使用泛型集閤 207
7.6 使用泛型避免強製類型轉換208
7.7 迭代器的使用方式. 211
7.8 使用Set避免元素重復存儲 213
7.9 使用迭代器或枚舉.215
7.10 鏈錶結構216
7.11 使用Hashtable和HashMap進行映射.219
7.12 Properties類和Preferences類221
7.13 對集閤排序 225
7.14 避免頻繁排序 229
7.15 在集閤中查找對象.231
7.16 將集閤轉換為數組.233
7.17 自定義迭代器 234
7.18 堆棧 .237
7.19 多維結構240
7.20 程序:運行時間比較 242
第8章 麵嚮對象技術 245
8.0 引言 .245
8.1 使用toString()格式化對象並輸齣 247
8.2 覆蓋equals()和hashCode()方法249
8.3 使用關閉鈎子清理程序 .254
8.4 使用內部類 256
8.5 通過接口提供迴調.257
8.6 多態性/抽象方法 .260
8.7 傳遞數值262
8.8 使用類型安全的枚舉 .265
8.9 Singleton模式 269
8.10 自定義異常 271
8.11 使用依賴注入 272
8.12 程序: 繪圖儀 275
第9章 函數式編程技術: 函數接口、 流、 並行集閤 279
9.0 引言 .279
9.1 使用lambda/Closure替代內部類 281
9.2 使用lambda預定義接口 .284
9.3 使用流 .287
9.4 使用並行流與集閤提高吞吐量 288
9.5 創建自己的函數式接口 .289
9.6 函數引用292
9.7 Java Mixins: 方法混閤 .296
第10章 輸入與輸齣 . 298
10.0 引言 .298
10.1 從標準輸入設備讀取數據301
10.2 從控製颱或控製終端讀取數據, 隱藏讀取密碼 303
10.3 嚮標準輸齣或標準錯誤流寫數據 305
10.4 使用 Formatter 和 printf輸齣 .307
10.5 使用Stream Tokenizer的掃描輸入 .310
10.6 使用Scanner類掃描輸入 315
10.7 使用語法結構掃描輸入 .318
10.8 按文件名打開文件.319
10.9 復製文件320
10.10 把文件讀入一個字符串 .326
10.11 重新分配標準流.327
10.12 復製一個流 328
10.13 讀/寫不同的字符集331
10.14 行結束符332
10.15 平颱相關的文件編碼 .332
10.16 閱讀“ 連續” 行.334
10.17 讀/寫二進製數據338
10.18 在文件中定位 338
10.19 處理C程序寫的數據流.340
10.20 存儲和還原Java對象342
10.21 防止ClassCastExceptions異常345
10.22 讀寫JRA或Zip文檔 347
10.23 利用get Resource()和getResourceAsStream()獲得文件 .350
10.24 讀寫壓縮文件 352
10.25 瞭解串行和並行端口的通信API353
10.26 將用戶數據保存到磁盤 .357
10.27 程序: 將文本輸齣為PostScript格式361
第11章 目錄和文件係統操作 364
11.0 引言 .364
11.1 獲取文件信息 364
11.2 創建一個文件 367
11.3 重命名一個文件.368
11.4 刪除一個文件 369
11.5 創建臨時文件 370
11.6 改變文件屬性 372
11.7 列齣目錄內容 373
11.8 獲取根目錄 375
11.9 創建新的目錄 377
11.10 使用路徑而不是文件 .377
11.11 使用FileWatcher 服務得到文件變化的通知. 379
11.12 程序: Find.381
第12章 媒體: 圖形、 音頻、 視頻. 384
12.0 引言 .384
12.1 使用Graphics對象畫圖 385
12.2 無需編寫主函數顯示圖形組件 386
12.3 繪製文本387
12.4 在組件中央繪製文本 .388
12.5 繪製陰影389
12.6 繪製2D( 二維) 文本 391
12.7 使用應用程序字體繪製文本 394
12.8 繪製圖像396
12.9 使用 javax.imageio讀寫圖像399
12.10 播放音頻/語音文件401
12.11 播放視頻文件.402
12.12 在Java中打印 407
12.13 程序: PlotterAWT .410
12.14 程序: Grapher .412
第13章 網絡客戶端 . 416
13.0 引言 .416
13.1 訪問服務器 418
13.2 查找和報告網絡地址 .419
13.3 處理網絡錯誤 421
13.4 讀寫文本數據 422
13.5 讀寫二進製數據.424
13.6 讀寫串行化數據.427
13.7 UDP數據報 428
13.8 程序: TFTP的UDP客戶端 431
13.9 URI、 URL, 還是URN? 435
13.10 輕量級Web服務客戶端 436
13.11 SOAP Web服務客戶端 .438
13.12 程序: Telnet客戶端.442
13.13 程序: 聊天客戶端 .444
13.14 程序: 簡單的HTTP鏈接檢查器 448
第14章 圖形用戶界麵. 450
14.0 引言 .450
14.1 顯示GUI( 圖形用戶界麵) 組件 .451
14.2 在事件調度綫程上運行GUI.453
14.3 設計一個窗口布局.454
14.4 選項卡視圖 457
14.5 事件處理: 使按鈕工作 .458
14.6 使用匿名內部類進行事件處理 460
14.7 使用Lambdas的事件處理.461
14.8 用“ 窗口關閉” 來終止程序 462
14.9 對話框 .467
14.10 捕捉和格式化GUI異常 469
14.11 在窗口上打印.472
14.12 使用JSpinner選擇一個值 .478
14.13 用JFileChoose選擇一個文件479
14.14 選擇一種顔色 481
14.15 用HTML格式化jcomponents484
14.16 將主窗口居中顯示 .485
14.17 改變Swing程序的外觀和感覺488
14.18 改進MAC OS X下的Swing GUI 492
14.19 使用JavaFX構建GUI應用程序.494
14.20 程序: 定製字體選擇器 .496
14.21 程序: 定製AWT/Swing布局管理器 500
第15章 國際化和本地化 508
15.0 引言 .508
15.1 用I18N資源創建一個按鈕 .509
15.2 列齣可用的語言環境 . 511
15.3 使用I18N資源創建菜單 .512
15.4 編寫國際化的方便子程序512
15.5 使用I18N資源創建一個對話框514
15.6 創建一個資源包.516
15.7 從代碼中提取字符串 .517
15.8 使用特定的語言環境 .518
15.9 設置默認語言環境.519
15.10 使用MessageFormat格式化消息 520
15.11 程序: MenuIntl 522
15.12 程序: BusCard .524
第16章 Java服務器端 . 528
16.0 引言 .528
16.1 打開服務器套接字.529
16.2 返迴一個響應( 字符串或二進製) .531
16.3 通過網絡連接返迴對象信息 534
16.4 處理多個客戶端.535
16.5 為HTTP協議服務.540
16.6 用SSL和JSSE保護Web服務器 .542
16.7 網絡日誌545
16.8 使用SLF4J進行網絡日誌記錄 .546
16.9 使用log4j進行網絡日誌記錄 .548
16.10 使用java.util.logging進行網絡日誌記錄 551
16.11 查找網絡接口.553
16.12 程序: 一個Java聊天服務器.554
第17章 Java和電子郵箱 560
17.0 引言 .560
17.1 發送電子郵件: 瀏覽器版本 561
17.2 發送電子郵件: 真實的 .564
17.3 啓用服務器程序的郵件發送 567
17.4 發送MIME郵件 .572
17.5 提供郵件設置 575
17.6 閱讀電子郵件 576
17.7 程序: MailReaderBean580
17.8 程序: MailClient.584
第18章 數據庫訪問 . 594
18.0 引言 594
18.1 用JPA或Hibernate輕鬆訪問數據庫 596
18.2 JDBC設置和連接.601
18.3 連接JDBC數據庫.604
18.4 發送一個JDBC查詢並獲取結果 607
18.5 使用JDBC準備好的語句610
18.6 在JDBC中使用存儲過程614
18.7 使用ResultSet修改數據614
18.8 在RowSet中存儲615
18.9 使用SQL更新數據 .617
18.10 查找JDBC元數據.619
18.11 程序: SQLRunner .623
第19章 處理JSON數據 . 636
19.0 引言 .636
19.1 直接生成 JSON638
19.2 使用Jackson解析和編寫JSON .639
19.3 用org.json解析和編寫JSON 640
第20章 處理XML 643
20.0 引言 .643
20.1 用JAXB在對象與XML之間轉換 .646
20.2 使用序列化實現對象與XML之間的轉換 648
20.3 通過XSLT轉換XML 649
20.4 用SAX解析XML652
20.5 用DOM解析XML.654
20.6 用XPath查找XML元素 658
20.7 用Schema或DTD驗證結構 659
Java經典實例(第三版) epub pdf mobi txt 電子書 下載 2024
Java經典實例(第三版) 下載 epub mobi pdf txt 電子書