新到貨599現折59
Java經典實例(第3版)

Java經典實例(第3版)

  • 定價:888
  • 優惠價:87773
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

從lambda表達式、JavaFX8,到網路編程和支持移動設備等方面,Java8都有許多更新。本書包含了數百個經過實踐驗證的技巧,內容涵蓋了廣泛的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,這是一家世界上最大的培訓公司之一。他還編寫了《Checking C Programs with Lint》(O鈥橰eilly?公司出版)一書,以及超過100篇有關C和UNIX方面的文章。

 

目錄

前言. 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
20.8 用DOM和XML轉換器生成自己的XML .662
20.9 程序xml2mif 664

第21章 包和打包 667
21.0 引言 .667
21.1 創建一個封裝包.668
21.2 用Javadoc為類寫文檔 669
21.3 超出Javadoc: 注解/元數據 .673
21.4 用jar歸檔 .675
21.5 從一個JAR運行一個程序 676
21.6 將一個類作為JavaBean678
21.7 將Bean放入一個JAR中681
21.8 打包一個Servlet到WAR文件 .683
21.9 編寫一次, 隨處安裝 .684
21.10 編寫一次, 在Mac OS X上進行安裝 .684
21.11 Java Web Start 686
21.12 簽名你的JAR文件692

第22章 Java線程 694
22.0 引言 .694
22.1 在不同線程中運行代碼 .696
22.2 用動畫顯示運動圖像 .700
22.3 停止一個線程 704
22.4 交會和超時 707
22.5 用synchronized關鍵字實現線程同步 .708
22.6 使用鎖簡化同步.714
22.7 用wait()和notifyAll()同步線程 718
22.8 使用隊列接口簡化生產者/消費者模式 723
22.9 用Fork/Join優化並行處理725
22.10 在編輯器的后台保存 .729
22.11 程序: 多線程網絡服務器730
22.12 使用Concurrency Utilities簡化服務器 .736

第23章 反射或「 命名類的類」 739
23.0 引言 .739
23.1 獲取類描述符 740
23.2 查找並使用方法和域 .741
23.3 通過反射訪問私有的方法和域 744
23.4 動態加載並實例化一個類746
23.5 通過一個ClassLoader從頭開始構造一個類 .748
23.6 性能計時749
23.7 輸出類的信息 753
23.8 顯示包中包含的類清單 .755
23.9 使用和定義注解.757
23.10 通過注解找到類似插件的類 762
23.11 程序: CrossRef .764
23.12 程序: AppletViewer 766

第24章 Java和其他語言的結合 773
24.0 引言 .773
24.1 在Java中運行外部程序 774
24.2 運行一個程序並捕捉其輸出 778
24.3 通過javax.script調用其他語言.781
24.4 啟動自己的腳本引擎 .783
 

詳細資料

  • ISBN:9787512387751
  • 規格:817頁 / 21 x 14.8 x 1.5 cm / 普通級 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 手作新書79折起
  • 浪漫小說精選3本72折
  • 888現折88