書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊

On Java 中文版 進(jìn)階卷

出版社:人民郵電出版社出版時間:2022-03-01
開本: 23cm 頁數(shù): 24,535頁
中 圖 價:¥62.3(4.8折) 定價  ¥129.8 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說明>>
本類五星書更多>

On Java 中文版 進(jìn)階卷 版權(quán)信息

On Java 中文版 進(jìn)階卷 本書特色

基于Java 8、11、17,Thinking in系列書籍作者Bruce Eckel重講Java的編程思想! 1.查漏寶典:涵蓋Java關(guān)鍵特性的設(shè)計原理和應(yīng)用方法 2.避坑指南:以產(chǎn)業(yè)實踐的得失為鑒,指明Java開發(fā)者不可不知的設(shè)計陷阱 3.小白大神皆可讀:適合不同層次的Java開發(fā)者反復(fù)翻閱 4.大咖領(lǐng)讀:3位一線技術(shù)專家?guī)悴鸾鈺须y點內(nèi)容,總結(jié)Java開發(fā)精要

On Java 中文版 進(jìn)階卷 內(nèi)容簡介

本書內(nèi)容主要是對《On Java 中文版 基礎(chǔ)卷》的拓展延伸, 重點講解Java的高級特性、并發(fā)、設(shè)計模式等相關(guān)進(jìn)階知識, 對一些和開發(fā)密切相關(guān)的底層操作 (如I/O系統(tǒng)、底層并發(fā)、設(shè)計模式等) 進(jìn)行深入探討。附錄篇作者給出了67條關(guān)于低級程序設(shè)計和編寫代碼的建議, 并分享了自己成為程序員的一些經(jīng)驗之談, 同時針對《On Java 中文版 基礎(chǔ)卷》的重點章節(jié) (如附錄中增補了一些集合的高級特性) 進(jìn)行了補充說明。

On Java 中文版 進(jìn)階卷 目錄

第 1章 枚舉類型 001


1.1 枚舉類型的基本特性 / 001


靜態(tài)導(dǎo)入枚舉類型 / 002


1.2 在枚舉類型中增加自定義方


法 / 003


重載枚舉類型中的方法 / 004


1.3 在switch語句中使用枚舉 / 005


1.4 values()方法的神秘之處 / 006


1.5 實現(xiàn),而不是繼承 / 009


1.6 隨機選擇 / 010


1.7 使用接口來組織枚舉 / 011


1.8 用EnumSet來代替標(biāo)識 / 015


1.9 使用EnumMap / 017


1.10 常量特定方法 / 018


1.10.1 用枚舉實現(xiàn)職責(zé)鏈模


式 / 023


1.10.2 用枚舉實現(xiàn)狀態(tài)機 / 027


1.11 多路分發(fā) / 032


1.11.1 使用枚舉類型分發(fā) / 034


1.11.2 使用常量特定方法 / 036


1.11.3 使用EnumMap分發(fā) / 038


1.11.4 使用二維數(shù)組 / 039


1.12 支持模式匹配的新特性 / 041


1.13 新特性:switch中的箭頭語


法 / 041


1.14 新特性:switch中的case


null / 042


1.15 新特性:將switch作為表達(dá)


式 / 044


1.16 新特性:智能轉(zhuǎn)型 / 046


1.17 新特性:模式匹配 / 048


1.17.1 違反里氏替換原則 / 049


1.17.2 守衛(wèi) / 053


1.17.3 支配性 / 055


1.17.4 覆蓋范圍 / 057


1.18 總結(jié) / 058


第 2章 對象傳遞和返回 060


2.1 傳遞引用 / 061


引用別名 / 061


2.2 創(chuàng)建本地副本 / 063


2.2.1 值傳遞 / 063


2.2.2 克隆對象 / 064


2.2.3 為類增加可克隆能力 / 065


2.2.4 成功的克隆 / 067


2.2.5 Object.clone()的效果 / 068


2.2.6 克隆組合對象 / 070


2.2.7 深拷貝ArrayList / 073


2.2.8 通過序列化進(jìn)行深拷貝 / 074


2.2.9 在繼承層次結(jié)構(gòu)中增加可克隆性并向下覆蓋 / 076


2.2.10 為什么用這種奇怪的


設(shè)計 / 077


2.3 控制可克隆性 / 078


復(fù)制構(gòu)造器 / 082


2.4 不可變類 / 086


2.4.1 創(chuàng)建不可變類 / 088


2.4.2 不可變性的缺點 / 089


2.4.3 String很特殊 / 091


2.5 總結(jié) / 091


第3章 集合主題 093


3.1 樣例數(shù)據(jù) / 093


3.2 List的行為 / 099


3.3 Set的行為 / 102


3.4 在Map上使用函數(shù)式操作 / 104


3.5 選擇Map的部分元素 / 105


3.6 填充集合 / 107


3.6.1 使用Suppliers來填充Collection / 108


3.6.2 使用Suppliers來填充


Map / 109


3.7 使用享元自定義Collection和Map / 112


3.8 Collection的功能 / 123


3.9 可選的操作 / 125


不支持的操作 / 127


3.10 Set與存儲順序 / 129


SortedSet / 132


3.11 Queue / 134


3.11.1 優(yōu)先級隊列 / 135


3.11.2 Deque / 136


3.12 理解Map / 137


3.12.1 性能 / 139


3.12.2 SortedMap / 141


3.12.3 LinkedHashMap / 143


3.13 工具函數(shù) / 144


3.13.1 List上的排序和


查找 / 147


3.13.2 創(chuàng)建不可修改的Collection或Map / 148


3.13.3 同步Collection或


Map / 150


3.14 持有引用 / 151


WeakHashMap / 154


3.15 Java 1.0/1.1的集合類 / 155


3.15.1 Vector和


Enumeration / 155


3.15.2 Hashtable / 156


3.15.3 Stack / 157


3.15.4 BitSet / 158


3.16 總結(jié) / 160


第4章 注解 162


4.1 基本語法 / 163


4.1.1 定義注解 / 164


4.1.2 元注解 / 165


4.2 編寫注解處理器 / 166


4.2.1 注解元素 / 167


4.2.2 默認(rèn)值的限制 / 168


4.2.3 生成外部文件 / 168


4.2.4 注解不支持繼承 / 172


4.2.5 實現(xiàn)處理器 / 172


4.3 用javac處理注解 / 174


4.3.1 *簡單的處理器 / 175


4.3.2 更復(fù)雜的處理器 / 178


4.4 基于注解的單元測試 / 182


4.4.1 在@Unit中使用泛型 / 190


4.4.2 實現(xiàn)@Unit / 192


4.5 總結(jié) / 202


第5章 并發(fā)編程 203


5.1 令人迷惑的術(shù)語 / 204


并發(fā)的新定義 / 206


5.2 并發(fā)的超能力 / 207


5.3 并發(fā)為速度而生 / 209


5.4 Java并發(fā)四定律 / 211


5.4.1 不要使用并發(fā) / 211


5.4.2 一切都不可信,一切都很


重要 / 212


5.4.3 能運行并不代表沒有


問題 / 212


5.4.4 你終究要理解并發(fā) / 213


5.5 殘酷的事實 / 214


5.6 本章剩余部分 / 216


5.7 并行流 / 218


5.7.1 parallel()并非靈丹妙


藥 / 219


5.7.2 parallel()和limit()的


作用 / 224


5.7.3 并行流只是看起來很簡


單 / 228


5.8 創(chuàng)建和運行任務(wù) / 228


5.8.1 Task和Executor / 228


5.8.2 使用更多的線程 / 232


5.8.3 生成結(jié)果 / 234


5.8.4 作為任務(wù)的lambda與方法引用 / 236


5.9 終止長時間運行的任務(wù) / 237


5.10 CompletableFuture / 240


5.10.1 基本用法 / 241


5.10.2 其他操作 / 244


5.10.3 合并多個Completable-Future / 247


5.10.4 模擬場景應(yīng)用 / 251


5.10.5 異常 / 253


5.11 死鎖 / 259


5.12 構(gòu)造器并不是線程安全的 / 264


5.13 工作量、復(fù)雜性、成本 / 268


5.14 總結(jié) / 273


5.14.1 缺點 / 274


5.14.2 Java核心設(shè)計的失敗之


處 / 275


5.14.3 其他的庫 / 275


5.14.4 設(shè)想一種為并發(fā)而設(shè)計的語言 / 276


5.14.5 延伸閱讀 / 276


第6章 底層并發(fā) 277


6.1 什么是線程? / 277


6.1.1 *佳線程數(shù) / 279


6.1.2 我可以創(chuàng)建多少線程 / 280


6.2 捕獲異常 / 282


6.3 共享資源 / 286


6.3.1 資源競爭 / 286


6.3.2 解決資源競爭 / 290


6.3.3 將EvenProducer同步化 / 292


6.4 volatile關(guān)鍵字 / 293


6.4.1 字分裂 / 293


6.4.2 可見性 / 294


6.4.3 (指令)重排序和先行發(fā)


生 / 295


6.4.4 何時使用volatile / 296


6.5 原子性 / 296


6.5.1 Josh的序列號 / 300


6.5.2 原子類 / 303


6.6 臨界區(qū) / 304


6.6.1 在其他對象上進(jìn)行同步 / 307


6.6.2 使用顯式Lock對象 / 308


6.7 庫組件 / 310


6.7.1 延遲隊列DelayQueue / 311


6.7.2 優(yōu)先級阻塞隊列Priority-BlockingQueue / 313


6.7.3 無鎖集合 / 316


6.8 總結(jié) / 317


第7章 Java I/O系統(tǒng) 319


7.1 I/O流 / 319


7.1.1 各種InputStream類型 / 321


7.1.2 各種OutputStream類型 / 321


7.1.3 添加屬性和有用的接口 / 322


7.1.4 各種Reader和Writer / 324


7.1.5 自成一家的Random-AccessFile / 327


7.1.6 I/O流的典型用法 / 328


7.1.7 小結(jié) / 335


7.2 標(biāo)準(zhǔn)I/O / 335


7.2.1 從標(biāo)準(zhǔn)輸入中讀取 / 336


7.2.2 將System.out轉(zhuǎn)換為PrintWriter / 336


7.2.3 標(biāo)準(zhǔn)I/O重定向 / 337


7.2.4 進(jìn)程控制 / 338


7.3 新I/O系統(tǒng) / 340


7.3.1 字節(jié)緩沖區(qū)ByteBuffer / 340


7.3.2 轉(zhuǎn)換數(shù)據(jù) / 344


7.3.3 獲取基本類型 / 347


7.3.4 視圖緩沖區(qū) / 348


7.3.5 用緩沖區(qū)操縱數(shù)據(jù) / 352


7.3.6 內(nèi)存映射文件 / 357


7.3.7 文件加鎖 / 361


第8章 設(shè)計模式 364


8.1 設(shè)計模式的概念 / 364


8.2 單例模式 / 366


8.3 設(shè)計模式的分類 / 370


8.4 模板方法 / 370


8.5 封裝實現(xiàn) / 371


8.5.1 代理模式 / 372


8.5.2 狀態(tài)模式 / 373


8.5.3 狀態(tài)機模式 / 376


8.6 工廠模式:封裝對象的創(chuàng)建 / 377


8.6.1 動態(tài)工廠模式 / 380


8.6.2 多態(tài)工廠模式 / 381


8.6.3 抽象工廠模式 / 382


8.7 函數(shù)對象模式 / 384


8.7.1 命令模式 / 385


8.7.2 策略模式 / 386


8.7.3 職責(zé)鏈模式 / 388


8.8 改變接口 / 391


8.8.1 適配器模式 / 391


8.8.2 外觀模式 / 392


8.9 解釋器模式:運行時的靈活


性 / 394


8.10 回調(diào) / 394


8.10.1 觀察者模式 / 394


8.10.2 示例:觀察花朵 / 395


8.10.3 一個可視化的觀察者示


例 / 398


8.11 多路分發(fā) / 401


8.12 模式重構(gòu) / 405


8.12.1 Trash和它的子類 / 405


8.12.2 信使對象 / 410


8.12.3 使工廠通用化 / 411


8.12.4 從文件解析Trash / 412


8.12.5 用DynaFactory實現(xiàn)回


收 / 415


8.12.6 將用法抽象化 / 416


8.12.7 用多路分發(fā)重新設(shè)計 / 420


8.12.8 訪問者模式 / 427


8.12.9 反射是有害的? / 431


8.13 總結(jié) / 435


編程指南 / 436


Javadoc / 446


理解equals()和hashCode() / 451


數(shù)據(jù)壓縮 / 475


對象序列化 / 481


靜態(tài)類型檢查的利與弊 / 505

展開全部

On Java 中文版 進(jìn)階卷 作者簡介

【作者簡介】 布魯斯.?藸枺˙ruce Eckel) C++ 標(biāo)準(zhǔn)委員會的創(chuàng)始成員之一,技術(shù)顧問,專注于編程語言和軟件系統(tǒng)設(shè)計方面的研究,;钴S于世界各大技術(shù)研討會。他自 1986 年以來,累計出版Thinking in C++、Thinking in Java、On Java 8 等十余部計算機著作,曾多次榮獲 Jolt 最佳圖書獎(被譽為“軟件業(yè)界的奧斯卡”),其代表作 Thinking in Java 被譯為中文、日文、俄文、意大利文、波蘭文、韓文等十幾種語言,在世界范圍內(nèi)產(chǎn)生了廣泛影響。 【譯者簡介】 孫卓,現(xiàn)任職于百度健康研發(fā)中心,百度技術(shù)委員會成員。從業(yè)十余年,熟悉 Java、PHP 等語言體系,同時也是一名語言文字愛好者。 陳德偉,深耕軟件研發(fā)十余年,目前專注于金融系統(tǒng)研發(fā)工作。 臧秀濤,InfoQ 前會議內(nèi)容總編,F(xiàn)于濤思數(shù)據(jù)負(fù)責(zé)開源時序數(shù)據(jù)庫 TDengine 的社區(qū)生態(tài)。代表譯作有《Java 性能權(quán)威指南》、《C++ API 設(shè)計》、《Groovy 程序設(shè)計》等。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服