幫助中心 | 我的帳號 | 關於我們

Java經典實例(第5版)

  • 作者:(加)伊恩·F.達爾文|責編:劉熾|譯者:蘇鈺涵//林琪
  • 出版社:中國電力
  • ISBN:9787523905333
  • 出版日期:2026/01/01
  • 裝幀:平裝
  • 頁數:726
人民幣:RMB 198 元      售價:
放入購物車
加入收藏夾

內容大鋼
    隨著Java繼續發展和演進,這本書也在不斷修訂和改版。利用這本指南,你會快速掌握數百個實戰技巧,內容涵蓋諸多Java主題。作者Ian Darwin將幫助開發人員快速上手,掌握從字元串處理、函數式編程到網路通信和AI等一切有用的技術。
    如果你熟悉Java的任何一個版本,這本經典實例將增進你的Java知識,讓你了解Java的最新變化,包括如何在日常開發中運用這些知識。每個技巧都包含完整的代碼解決方案,可以免費使用這些代碼,另外每個技巧還討論了如何做以及為什麼可以這樣做。
    所有代碼示例都可以從GitHub下載。更新的這一版涵蓋了直到Java 23的全部內容和Java 24的部分內容,並列出直到Java 24的所有主要變化。

作者介紹
(加)伊恩·F.達爾文|責編:劉熾|譯者:蘇鈺涵//林琪
    伊恩·F.達爾文(Ian Darwin)在軟體行業積累了豐富的經驗,從Java的第d一版直到現在,他在很多平台和不同類型的軟體上使用過Java。作為Sun/Oracle Java Champions的創始成員,Ian還是《Android Cookook》和其他一些書的作者。他一直在為電腦科學專業本科生以及Learning Tree International(一家領l先的職業發展培訓公司)編寫教材和講授課程。

目錄
前言
第1章  入門:編譯和運行Java
  1.0  引言
  1.1  編譯和運行Java:標準JDK
  1.2  用無類Main實現Hello, World 21P
  1.3  下載和使用代碼示例
  1.4  用IDE編譯、運行和測試
  1.5  用JShell 11探索Java 11
  1.6  有效使用CLASSPATH
  1.7  用Javadoc建立類文檔
  1.8  超越Javadoc:註解/元數據
  1.9  打包和運行JAR文件
  1.10  創建支持多個Java版本的JAR
  1.11  將Web層組件打包到WAR文件
  1.12  編譯和運行Java:GraalVM提高性能
  1.13  獲得環境、操作系統和運行時環境信息
第2章  軟體開發、測試與維護
  2.0  引言
  2.1  設計應用:包和模塊
  2.2  使用Java模塊系統
  2.3  使用JPMS創建模塊
  2.4  用Apache Maven自動管理編譯、測試和部署
  2.5  用Gradle自動管理編譯、測試和部署
  2.6  用Maven和Gradle自動實現依賴管理
  2.7  處理廢棄警告
  2.8  批量重構處理警告和遷移
  2.9  利用單元測試維護代碼正確性:JUnit
  2.10  用模擬對象和Mockito隔離測試目標
  2.11  日誌:網路或本地
  2.12  創建SLF4J
  2.13  使用Log4j生成網路日誌
  2.14  用java.util.logging生成網路日誌
  2.15  利用持續集成維護代碼
  2.16  性能測量(計時)
  2.17  用jlink創建定製JDK發布包
  2.18  用jpackage創建平台特定安裝工具
第3章  字元串相關問題
  3.0  引言
  3.1  利用子串、詞法分析和修剪方法分解字元串
  3.2  用Formatter和printf格式化字元串
  3.3  用StringBuilder建立字元串
  3.4  逐字元處理字元串
  3.5  字元串對齊、縮進和取消縮進
  3.6  Unicode字元與字元串之間的轉換
  3.7  按單詞或字元逆轉字元串
  3.8  展開和壓縮製表符
  3.9  控制大小寫
  3.10  為字元串增加不可列印字元
  3.11  使用國際化資源創建消息
  3.12  使用特定的本地化環境

  3.13  創建資源包
  3.14  程序:一個簡單的文本格式化工具
第4章  使用正則表達式實現字元串匹配
  4.0  引言
  4.1  正則表達式語法
  4.2  檢查字元串是否與正則表達式匹配
  4.3  分組:指定正則表達式的部分
  4.4  查找匹配文本
  4.5  替換匹配文本
  4.6  列印一個模式的所有匹配
  4.7  正則表達式中控制大小寫
  4.8  匹配重音或組合字元
  4.9  匹配文本中的換行符
  4.10  程序:完整的Grep
第5章  數字
  5.0  引言
  5.1  檢查字元串是否是一個合法的數
  5.2  數字與對象的轉換
  5.3  直接使用分數而不使用浮點數
  5.4  處理浮點數
  5.5  格式化數字
  5.6  二進位、八進位、十進位和十六進位間的轉換
  5.7  處理整數序列
  5.8  格式化為正確的複數形式
  5.9  生成隨機數
  5.10  矩陣乘法
  5.11  用Vector操作優化大數算術運算 22C
  5.12  使用複數
  5.13  處理非常大的數
  5.14  程序:TempConverter
第6章  日期和時間
  6.0  引言
  6.1  獲得當天日期
  6.2  格式化日期和時間
  6.3  日期/時間和紀元秒之間的轉換
  6.4  將字元串解析為日期
  6.5  兩個日期之差
  6.6  日期加上或減去一個時間段
  6.7  計算重複事件
  6.8  計算涉及時區的日期
  6.9  與遺留Date和Calendar類交互
第7章  Java數據結構
  7.0  引言
  7.1  用數組建立數據結構
  7.2  調整數組大小
  7.3  用Arrays類簡化數組處理
  7.4  集合框架
  7.5  列表:類似數組,但更動態
  7.6  自己的類中使用泛型類型:堆棧演示
  7.7  如何迭代?所有迭代方法

  7.8  用Set避免重複值
  7.9  用Hashtable和HashMap建立映射
  7.10  在Properties和Preferences中存儲字元串
  7.11  集合排序
  7.12  在集合中查找對象
  7.13  Collection與數組的轉換
  7.14  使自己的數據結構可迭代
  7.15  多維結構
第8章  面向對象技術
  8.0  引言
  8.1  對象方法:用toString()格式化對象,用equals比較對象
  8.2  構造器簡化:super(...)前的語句 22P
  8.3  使用內部類
  8.4  用Record(或Lombok)簡化數據對象
  8.5  通過介面提供回調
  8.6  多態/抽象方法
  8.7  用默認、靜態和私有方法改進介面
  8.8  使用類型安全的枚舉
  8.9  使用類型模式匹配
  8.10  用「Optional」避免NPE
  8.11  用密封類型控制派生 17
  8.12  強制單例模式
  8.13  創建自己的異常
  8.14  使用依賴注入
  8.15  結合Java特性實現面向數據編程
第9章  函數式編程技術:函數介面、流和並行集合
  9.0  引言
  9.1  使用Lambda/Closures而不是內部類
  9.2  使用lambda預定義介面或創建自己的介面
  9.3  用Stream簡化處理
  9.4  用Collector簡化流
  9.5  用流採集器簡化流 22P
  9.6  用你自己的流採集器簡化流 22P
  9.7  用並行流和集合提高吞吐量
  9.8  利用方法引用將已有代碼用作為函數式介面
  9.9  Java Mixins:方法混入
  9.10  使用Flow和響應式流實現函數式編程
第10章  輸入和輸出:讀、寫和目錄技巧
  10.0  引言
  10.1  發現文件系統路徑
  10.2  獲取和設置文件與目錄信息:Files和Path
  10.3  創建和刪除文件或目錄
  10.4  改變文件名或其他屬性
  10.5  關於InputStream/OutputStream和Reader/Writer
  10.6  讀寫文件
  10.7  用StreamTokenizer、Scanner和Parser掃描輸入
  10.8  從標準輸入或控制台/控制終端讀取
  10.9  複製文件
  10.10  重新分配標準流
  10.11  寫時複製流

  10.12  讀/寫不同的字符集
  10.13  討厭的行尾字元
  10.14  當心依賴平台的文件代碼
  10.15  讀寫JAR或ZIP歸檔
  10.16  使用getResource()和getResourceAsStream()採用文件系統中立的方式讀取文件
  10.17  創建瞬時/臨時文件
  10.18  獲得目錄的根
  10.19  使用文件監視器服務得到文件變更通知
  10.20  遍歷文件樹(類似Find)
第11章  Java線程
  11.0  引言
  11.1  在不同線程中運行代碼
  11.2  使用虛擬線程提高性能
  11.3  交會和超時
  11.4  用synchronized關鍵字同步線程
  11.5  用鎖簡化同步
  11.6  用一個寫者多個讀者鎖定
  11.7  線程間共享數據——ThreadLocal和ScopedValue:結構化併發
  11.8  用Queue介面簡化生產者/消費者
  11.9  用Fork/Join優化並行處理
  11.10  調度任務:將來,編輯器的後台保存
第12章  數據科學與R
  12.0  引言
  12.1  在Apache Spark中使用數據
  12.2  互動式使用R
  12.3  比較/選擇R實現
  12.4  在Java應用中使用R:Renjin
  12.5  從R會話使用Java
  12.6  在Web應用中使用R
第13章  機器學習/人工智慧
  13.0  引言
  13.1  一些主要AI軟體
  13.2  直接使用ChatGPT
  13.3  通過LangChain4j使用ChatGPT
  13.4  用LangChain4j建議AI服務
  13.5  用Shadows轉換
  13.6  用LangChain4j生成圖像
  13.7  混合媒體提示:使用LangChain4j解釋圖像
  13.8  使用ollama本地運行AI
第14章  網路客戶端
  14.0  引言
  14.1  HTTP/REST Web客戶端——Modern API 11
  14.2  連接socket伺服器
  14.3  查找和報告網路地址
  14.4  處理網路錯誤
  14.5  讀寫文本數據
  14.6  讀寫二進位或串列化數據
  14.7  互聯網的明信片:使用UDP數據報
  14.8  URI, URL還是URN
  14.9  程序:基於Socket的聊天客戶端

第15章  伺服器端Java
  15.0  引言
  15.1  打開伺服器Socket
  15.2  查找網路介面
  15.3  返迴響應(字元串或二進位數據)
  15.4  處理多個客戶端
  15.5  提供HTTP協議
  15.6  用TLS(原來的SSL)和JSSE保護Web伺服器
  15.7  用JAX-RS創建REST服務/微服務
  15.8  UNIX域Socket——甚至包括Windows! 16
第16章  處理JSON數據
  16.0  引言
  16.1  直接生成JSON
  16.2  用Jackson解析和寫JSON
  16.3  用org.json解析和寫JSON
  16.4  用JSON-B解析和寫JSON
  16.5  用JSON Pointer查找JSON元素
第17章  反射或「名為Class的類」
  17.0  引言
  17.1  動態載入和實例化一個類
  17.2  列印類信息
  17.3  獲得類描述符
  17.4  查找和使用方法和欄位
  17.5  通過MethodHandle調用類成員
  17.6  列出一個包中的類
  17.7  訪問同一個類中的嵌套成員
  17.8  通過反射訪問私有方法和欄位
  17.9  用ClassLoader從頭構造一個類
  17.10  用JavaCompiler從頭構造一個類
  17.11  用Class-File API構造或修改類文件 22P
  17.12  使用和定義註解
  17.13  通過註解查找類似插件的類
  17.14  一個計時程序
  17.15  程序:CrossRef
第18章  結合使用Java和其他語言
  18.0  引言
  18.1  從Java運行外部程序
  18.2  運行程序並捕獲輸出
  18.3  通過javax.script調用其他語言
  18.4  用GraalVM混合語言 21
  18.5  用外部函數與內存API在Java和原生代碼間來回調用 22
  18.6  通過原生代碼(JNI)調用其他語言
  18.7  從原生代碼調用Java
後記
附錄  Java前世今生

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032