內容簡介
《Java編程思想》:
從《Java編程思想》獲得的各項大奬以及來自世界各地的讀者評論中,不難看齣本書是一本經典之作。《Java編程思想》的作者擁有多年教學經驗,對C、C++以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋瞭一個個晦澀抽象的概念。《Java編程思想》共22章,包括操作符、控製執行流程、訪問權限控製、復用類、多態、接口、通過異常處理錯誤、字符串、泛型、數組、容器深入研究、JavaI/O係統、枚舉類型、並發以及圖形化用戶界麵等內容。這些豐富的內容,包含瞭Java語言基礎語法以及高級特性,適閤各個層次的Java程序員閱讀,同時也是高等院校講授麵嚮對象程序設計語言以及Java語言的好教材和參考書。
《自己動手寫JAVA虛擬機》:
Java虛擬機非常復雜,要想真正理解它的工作原理,好方式就是自己動手編寫一個!
張秀宏編著的《自己動手寫Java虛擬機》是繼《深入理解Java虛擬機》之後的又一經典著作,它一方麵遵循《Java虛擬機規範》,一方麵又獨闢蹊徑,不僅能讓Java虛擬機的學習變得更加簡單和有趣,而且能讓你對Java虛擬機的原理認識更深入和更深刻!
《自己動手寫JAVA虛擬機》摒棄瞭傳統的以解讀枯燥的Java虛擬機規範文檔和分析繁瑣的Java虛擬機源代碼的方式來講解Java虛擬機,取而代之的是,以實踐的方式,引導讀者如何從零開始構建和實現一個Java虛擬機。整個過程不僅能讓讀者做到對Java虛擬機知其然而且知其所以然,還能屏蔽大量不必要的繁瑣細節,體會到實現過程中的成就感,讓學習過程更加輕鬆、愉悅和高效。更重要的是,這種方式能引導讀者更深入地認識和掌握Java虛擬機的工作原理。
作者簡介
Bruce Eckel,Mind View公司(www.MirldView.net)的總裁,該公司嚮客戶提供軟件谘詢和培訓。他是C++標準委員會擁有錶決權的成員之一,擁有應用物理學學士和計算機工程碩士學位。除本書外,他還是《C++編程思想》的作者,並與人閤著瞭《C++編程思想第2捲》(這兩本書的英文影印版及中文版均已由機械工業齣版社引進齣版)及其他著作。他已經發錶瞭150多篇論文,還經常參加世界各地的研討會並進行演講。
張秀宏,Java服務器開發工程師,有多年的Java開發、遊戲服務器開發和架構經驗,對Java虛擬機有非常深入的研究。曾在EA、華娛無綫等遊戲公司擔任高級服務器工程師職位,現任樂元素Lead軟件工程師。
內頁插圖
目錄
《Java編程思想》:
齣版者的話
專傢指導委員會
讀者評論
關於《Thinking in C++》
譯者序
譯者簡介
前言
緒論
第1章 對象導論
1.1 抽象過程
1.2 每個對象都有一個接口
1.3 每個對象都提供服務
1.4 被隱藏的具體實現
1.5 復用具體實現
1.6 繼承
1.6.1 “是一個”與“像是一個”關係
1.7 伴隨多態的可互換對象
1.8 單根繼承結構
1.9 容器
1.9.1 參數化類型(範型)
1.10 對象的創建和生命期
1.11 異常處理:處理錯誤
1.12 並發編程
1.13 Java與Internet
1.13.1 Web是什麼
1.13.2 客戶端編程
1.13.3 服務器端編程
1.14 總結
第2章 一切都是對象
2.1 用引用操縱對象
2.2 必須由你創建所有對象
2.2.1 存儲到什麼地方
2.2.2 特例:基本類型
2.2.3 Java中的數組
2.3 永遠不需要銷毀對象
2.3.1 作用域
2.3.2 對象的作用域
2.4 創建新的數據類型:類
2.4.1 字段和方法
2.5 方法、參數和返迴值
2.5.1 參數列錶
2.6 構建一個Java程序
2.6.1 名字可見性
2.6.2 運用其他構件
2.6.3 static 關鍵字
2.7 你的第一個Java程序
2.7.1 編譯和運行
2.8 注釋和嵌入式文檔
2.8.1 注釋文檔
2.8.2 語法
2.8.3 嵌入式HTML
2.8.4 一些標簽示例
2.8.5 文檔示例
2.9 編碼風格
2.10 總結
2.11 練習
第3章 操作符
3.1 更簡單的打印語句
3.2 使用Java操作符
3.3 優先級
3.4 賦值
3.4.1 方法調用中的彆名問題
3.5 算術操作符
3.5.1 一元加、減操作符
3.6 自動遞增和遞減
3.7 關係操作符
3.7.1 測試對象的等價性
3.8 邏輯操作符
3.8.1 短路
3.9 直接常量
3.9.1 指數記數法
3.10 按位操作符
3.11 移位操作符
3.12 三元操作符 if-else
3.13 字符串操作符 + 和 +=
3.14 使用操作符時常犯的錯誤
3.15 類型轉換操作符
3.15.1 截尾和捨入
3.15.2 提升
3.16 Java沒有sizeof
3.17 操作符小結
3.18 總結
第4章 控製執行流程
4.1 true和false
4.2 if-else
4.3 迭代
4.3.1 do-while
4.3.2 for
4.3.3 逗號操作符
4.4 Foreach語法
4.5 return
4.6 break和 continue
4.7 臭名昭著的goto
4.8 switch
4.9 總結
第5章 初始化與清理
5.1 用構造器確保初始化
5.2 方法重載
5.2.1 區分重載方法
5.2.2 涉及基本類型的重載
5.2.3 以返迴值區分重載方法
5.3 默認構造器
5.4 this關鍵字
5.4.1 在構造器中調用構造器
5.4.2 static的含義
5.5 清理:終結處理和垃圾迴收
5.5.1 finalize()的用途何在
5.5.2 你必須實施清理
5.5.3 終結條件
5.5.4 垃圾迴收器如何工作
5.6 成員初始化
5.6.1 指定初始化
5.7 構造器初始化
5.7.1 初始化順序
5.7.2 靜態數據的初始化
5.7.3 顯式的靜態初始化
5.7.4 非靜態實例初始化
5.8 數組初始化
5.8.1 可變參數列錶
5.9 枚舉類型
5.10 總結
第6章 訪問權限控製
6.1 包:庫單元
6.1.1 代碼組織
6.1.2 創建獨一無二的包名
6.1.3 定製工具庫
6.1.4 用 import改變行為
6.1.5 對使用包的忠告
6.2 Java訪問權限修飾詞
6.2.1 包訪問權限
6.2.2 public:接口訪問權限
6.2.3 private: 你無法訪問
6.2.4 protected:繼承訪問權限
6.3 接口和實現
6.4 類的訪問權限
6.5 總結
第7章 復用類
7.1 組閤語法
7.2 繼承語法
7.2.1 初始化基類
7.3 代理
7.4 結閤使用組閤和繼承
7.4.1 確保正確清理
7.4.2 名稱屏蔽
7.5 在組閤與繼承之間選擇
7.6 protected關鍵字
7.7 嚮上轉型
7.7.1 為什麼稱為嚮上轉型
7.7.2 再論組閤與繼承
7.8 final關鍵字
7.8.1 final 數據
7.8.2 final 方法
7.8.3 final 類
7.8.4 有關final的忠告
7.9 初始化及類的加載
7.9.1 繼承與初始化
7.10 總結
第8章 多態
8.1 再論嚮上轉型
8.1.1 忘記對象類型
8.2 轉機
8.2.1 方法調用綁定
8.2.2 産生正確的行為
8.2.3 可擴展性
8.2.4 缺陷:“覆蓋”私有方法
8.2.5 缺陷:域與靜態方法
8.3 構造器和多態
8.3.1 構造器的調用順序
8.3.2 繼承與清理
8.3.3 構造器內部的多態方法的行為
8.4 協變返迴類型
8.5 用繼承進行設計
8.5.1 純繼承與擴展
8.5.2 嚮下轉型與運行時類型識彆
8.6 總結
第9章 接口
9.1 抽象類和抽象方法
9.2 接口
9.3 完全解耦
9.4 Java中的多重繼承
9.5 通過繼承來擴展接口
9.5.1 組閤接口時的名字衝突
9.6 適配接口
9.7 接口中的域
9.7.1 初始化接口中的域
9.8 嵌套接口
9.9 接口與工廠
9.10 總結
第10章 內部類
10.1 創建內部類
10.2 鏈接到外部類
10.3 使用.this與.new
10.4 內部類與嚮上轉型
10.5 在方法和作用域內的內部類
10.6 匿名內部類
10.6.1 再訪工廠方法
10.7 嵌套類
10.7.1 接口內部的類
10.7.2 從多層嵌套類中訪問外部類的
成員
10.8 為什麼需要內部類
10.8.1 閉包與迴調
10.8.2 內部類與控製框架
10.9 內部類的繼承
10.10 內部類可以被覆蓋嗎
10.11 局部內部類
10.12 內部類標識符
10.13 總結
第11章 持有對象
11.1 泛型和類型安全的容器
11.2 基本概念
11.3 添加一組元素
11.4 容器的打印
11.5 List
11.6 迭代器
11.6.1 ListIterator
11.7 LinkedList
11.8 Stack
11.9 Set
11.10 Map
11.11 Queue
11.11.1 PriorityQueue
11.12 Collection和Iterator
11.13 Foreach與迭代器
11.13.1 適配器方法慣用法
11.14 總結
第12章 通過異常處理錯誤
12.1 概念
12.2 基本異常
12.2.1 異常參數
12.3 捕獲異常
12.3.1 try塊
12.3.2 異常處理程序
12.4 創建自定義異常
12.4.1 異常與記錄日誌
12.5 異常說明
12.6 捕獲所有異常
12.6.1 棧軌跡
12.6.2 重新拋齣異常
12.6.3 異常鏈
12.7 Java標準異常
12.7.1 特例:RuntimeException
12.8 使用finally進行清理
12.8.1 finally用來做什麼
12.8.2 在return中使用finally
12.8.3 缺憾:異常丟失
12.9 異常的限製
12.10 構造器
12.11 異常匹配
12.12 其他可選方式
12.12.1 曆史
12.12.2 觀點
12.12.3 把異常傳遞給控製颱
12.12.4 把“被檢查的異常”轉換為“不受
檢查的異常”
12.13 異常使用指南
12.14 總結
第13章 字符串
13.1 不可變String
13.2 重載“+”與StringBuilder
13.3 無意識的遞歸
13.4 String上的操作
13.5 格式化輸齣
13.5.1 printf()
13.5.2 System.out.format()
13.5.3 Formatter類
13.5.4 格式化說明符
13.5.5 Formatter轉換
13.5.6 String.format()
13.6 正則錶達式
13.6.1 基礎
13.6.2 創建正則錶達式
13.6.3 量詞
13.6.4 Pattern和Matcher
13.6.5 split()
13.6.6 替換操作
13.6.7 reset()
13.6.8 正則錶達式與Java I/O
13.7 掃描輸入
13.7.1 Scanner定界符
13.7.2 用正則錶達式掃描
13.8 StringTokenizer
13.9 總結
第14章 類型信息
14.1 為什麼需要RTTI
14.2 Class對象
14.2.1 類字麵常量
14.2.2 泛化的Class引用
14.2.3 新的轉型語法
14.3 類型轉換前先做檢查
14.3.1 使用類字麵常量
14.3.2 動態的instanceof
14.3.3 遞歸計數
14.4 注冊工廠
14.5 instanceof 與 Class的等價性
14.6 反射:運行時的類信息
14.6.1 類方法提取器
14.7 動態代理
14.8 空對象
14.8.1 模擬對象與樁
14.9 接口與類型信息
14.10 總結
第15章 泛型
15.1 與C++的比較
15.2 簡單泛型
15.2.1 一個元組類庫
15.2.2 一個堆棧類
15.2.3 RandomList
15.3 泛型接口
15.4 泛型方法
15.4.1 杠杆利用類型參數推斷
15.4.2 可變參數與泛型方法
15.4.3 用於Generator的泛型方法
15.4.4 一個通用的Generator
15.4.5 簡化元組的使用
15.4.6 一個Set實用工具
15.5 匿名內部類
15.6 構建復雜模型
15.7 擦除的神秘之處
15.7.1 C++的方式
15.7.2 遷移兼容性
15.7.3 擦除的問題
15.7.4 邊界處的動作
15.8 擦除的補償
15.8.1 創建類型實例
15.8.2 泛型數組
15.9 邊界
15.10 通配符
15.10.1 編譯器有多聰明
15.10.2 逆變
15.10.3 無界通配符
15.10.4 捕獲轉換
15.11 問題
15.11.1 任何基本類型都不能作為類型
參數
15.11.2 實現參數化接口
15.11.3 轉型和警告
15.11.4 重載
15.11.5 基類劫持瞭接口
15.12 自限定的類型
15.12.1 古怪的循環泛型
15.12.2 自限定
15.12.3 參數協變
15.13 動態類型安全
15.14 異常
15.15 混型
15.15.1 C++中的混型
15.15.2 與接口混閤
15.15.3 使用裝飾器模式
15.15.4 與動態代理混閤
15.16 潛在類型機製
15.17 對缺乏潛在類型機製的補償
15.17.1 反射
15.17.2 將一個方法應用於序列
15.17.3 當你並未碰巧擁有正確的接口時
15.17.4 用適配器仿真潛在類型機製
15.18 將函數對象用作策略
15.19 總結:轉型真的如此之糟嗎?
15.19.1 進階讀物
第16章 數組
16.1 數組為什麼特殊
16.2 數組是第一級對象
16.3 返迴一個數組
16.4 多維數組
16.5 數組與泛型
16.6 創建測試數據
16.6.1 Arrays.fill()
16.6.2 數據生成器
16.6.3 從Generator中創建數組
16.7 Arrays實用功能
16.7.1 復製數組
16.7.2 數組的比較
16.7.3 數組元素的比較
16.7.4 數組排序
16.7.5 在已排序的數組中查找
16.8 總結
第17章 容器深入研究
17.1 完整的容器分類法
17.2 填充容器
17.2.1 一種Generator解決方案
17.2.2 Map生成器
17.2.3 使用Abstract類
17.3 Collection的功能方法
17.4 可選操作
17.4.1 未獲支持的操作
17.5 List的功能方法
17.6 Set和存儲順序
17.6.1 SortedSet
17.7 隊列
17.7.1 優先級隊列
17.7.2 雙嚮隊列
17.8 理解Map
17.8.1 性能
17.8.2 SortedMap
17.8.3 LinkedHashMap
17.9 散列與散列碼
17.9.1 理解hashCode()
17.9.2 為速度而散列
17.9.3 覆蓋hashCode()
17.10 選擇接口的不同實現
17.10.1 性能測試框架
17.10.2 對List的選擇
17.10.3 微基準測試的危險
17.10.4 對Set的選擇
17.10.5 對Map的選擇
17.11 實用方法
17.11.1 List的排序和查詢
17.11.2 設定Collection或Map為不可
修改
17.11.3 Collection或Map的同步控製
17.12 持有引用
17.12.1 WeakHashMap
17.13 Java 1.0/1.1 的容器
17.13.1 Vector
Java從入門到動手寫虛擬機2(套裝共2冊) 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
活動期間買的很實惠,京東自營,值得信賴。
評分
☆☆☆☆☆
看瞭幾頁,不錯的,比網上查的資料看舒服多瞭,物流也快,當天到!
評分
☆☆☆☆☆
學無止境 買來看看 希望get到更多的點
評分
☆☆☆☆☆
書是好事,購物也方便快捷,但是圖書的運輸過程能不能小心點,有壓痕。圖書定價真是高
評分
☆☆☆☆☆
本書講得比較透徹,適閤深入理解計算機係統
評分
☆☆☆☆☆
看知乎推薦買的,先看看再說吧,打摺很便宜
評分
☆☆☆☆☆
買書如抽繭,看書如剝絲。說的就是我這類人吧,希望能好好的看一遍。
評分
☆☆☆☆☆
不錯的書,看瞭以後會對Java虛擬機有更深的理解
評分
☆☆☆☆☆
印刷質量很棒,內容也好,有高中知識和C語言基礎閱讀基本無壓力,推薦給cs基礎不好的人學習。