1. 程式人生 > >《Java核心技術 卷1 基礎知識(原書第9版)》(完整中文版).pdf

《Java核心技術 卷1 基礎知識(原書第9版)》(完整中文版).pdf

譯者序
前言
致謝
第1章 Java程式設計概述
1.1 Java程式設計平臺
1.2 Java“白皮書”的關鍵術語
1.2.1 簡單性
1.2.2 面向物件
1.2.3 網路技能
1.2.4 健壯性
1.2.5 安全性
1.2.6 體系結構中立
1.2.7 可移植性
1.2.8 解釋型
1.2.9 高效能
1.2.10 多執行緒
1.2.11 動態性
1.3 Java applet與Internet
1.4 Java發展簡史
1.5 關於Java的常見誤解
第2章 Java程式設計環境
2.1 安裝Java開發工具箱
2.1.1 下載JDK
2.1.2 設定執行路徑
2.1.3 安裝庫原始檔和文件
2.1.4 安裝本書中的示例
2.1.5 導航Java目錄
2.2 選擇開發環境
2.3 使用命令列工具
2.4 使用整合開發環境
2.5 執行圖形化應用程式
2.6 建立並執行applet
第3章 Java的基本程式設計結構
3.1 一個簡單的Java應用程式
3.2 註釋
3.3 資料型別
3.3.1 整型
3.3.2 浮點型別
3.3.3 char型別
3.3.4 boolean型別
3.4 變數
3.4.1 變數初始化
3.4.2 常量
3.5 運算子
3.5.1 自增運算子與自減運算子
3.5.2 關係運算符與boolean運算子
3.5.3 位運算子
3.5.4 數學函式與常量
3.5.5 數值型別之間的轉換
3.5.6 強制型別轉換
3.5.7 括號與運算子級別
3.5.8 列舉型別
3.6 字串
3.6.1 子串
3.6.2 拼接
3.6.3 不可變字串
3.6.4 檢測字串是否相等
3.6.5 空串與Null串
3.6.6 程式碼點與程式碼單元
3.6.7 字串API
3.6.8 閱讀聯機API文件
3.6.9 構建字串
3.7 輸入輸出
3.7.1 讀取輸入
3.7.2 格式化輸出
3.7.3 檔案輸入與輸出
3.8 控制流程
3.8.1 塊作用域
3.8.2 條件語句
3.8.3 迴圈
3.8.4 確定迴圈
3.8.5 多重選擇:switch語句
3.8.6 中斷控制流程語句
3.9 大數值
3.10 陣列
3.10.1 for each迴圈
3.10.2 陣列初始化以及匿名陣列
3.10.3 陣列拷貝
3.10.4 命令列引數
3.10.5 陣列排序
3.10.6 多維陣列
3.10.7 不規則陣列
第4章 物件與類
4.1 面向物件程式設計概述
4.1.1 類
4.1.2 物件
4.1.3 識別類
4.1.4 類之間的關係
4.2 使用預定義類
4.2.1 物件與物件變數
4.2.2 Java類庫中的Gregorian-Calendar類
4.2.3 更改器方法與訪問器方法
4.3 使用者自定義類
4.3.1 Employee類
4.3.2 多個原始檔的使用
4.3.3 剖析Employee類
4.3.4 從構造器開始
4.3.5 隱式引數與顯式引數
4.3.6 封裝的優點
4.3.7 基於類的訪問許可權
4.3.8 私有方法
4.3.9 final例項域
4.4 靜態域與靜態方法
4.4.1 靜態域
4.4.2 靜態常量
4.4.3 靜態方法
4.4.4 工廠方法
4.4.5 main方法
4.5 方法引數
4.6 物件構造
4.6.1 過載
4.6.2 預設域初始化
4.6.3 無引數的構造器
4.6.4 顯式域初始化
4.6.5 引數名
4.6.6 呼叫另一個構造器
4.6.7 初始化塊
4.6.8 物件析構與finalize方法
4.7 包
4.7.1 類的匯入
4.7.2 靜態匯入
4.7.3 將類放入包中
4.7.4 包作用域
4.8 類路徑
4.9 文件註釋
4.9.1 註釋的插入
4.9.2 類註釋
4.9.3 方法註釋
4.9.4 域註釋
4.9.5 通用註釋
4.9.6 包與概述註釋
4.9.7 註釋的抽取
4.10 類設計技巧
第5章 繼承
5.1 類、超類和子類
5.1.1 繼承層次
5.1.2 多型
5.1.3 動態繫結
5.1.4 阻止繼承:final類和方法
5.1.5 強制型別轉換
5.1.6 抽象類
5.1.7 受保護訪問
5.2 Object:所有類的超類
5.2.1 equals方法
5.2.2 相等測試與繼承
5.2.3 hashCode方法
5.2.4 toString方法
5.3 泛型陣列列表
5.3.1 訪問陣列列表元素
5.3.2 型別化與原始陣列列表的相容性
5.4 物件包裝器與自動裝箱
5.5 引數數量可變的方法
5.6 列舉類
5.7 反射
5.7.1 Class類
5.7.2 捕獲異常
5.7.3 利用反射分析類的能力
5.7.4 在執行時使用反射分析物件
5.7.5 使用反射編寫泛型陣列程式碼
5.7.6 呼叫任意方法
5.8 繼承設計的技巧
第6章 介面與內部類
6.1 介面
6.1.1 介面的特性
6.1.2 介面與抽象類
6.2 物件克隆
6.3 介面與回撥
6.4 內部類
6.4.1 使用內部類訪問物件狀態
6.4.2 內部類的特殊語法規則
6.4.3 內部類是否有用、必要和安全
6.4.4 區域性內部類
6.4.5 由外部方法訪問final變數
6.4.6 匿名內部類
6.4.7 靜態內部類
6.5 代理
第7章 圖形程式設計
7.1 Swing概述
7.2 建立框架
7.3 框架定位
7.3.1 框架屬性
7.3.2 確定合適的框架大小
7.4 在元件中顯示資訊
7.5 處理2D圖形
7.6 使用顏色
7.7 文字使用特殊字型
7.8 顯示影象
第8章 事件處理
8.1 事件處理基礎
8.1.1 例項:處理按鈕點選事件
8.1.2 建議使用內部類
8.1.3 建立包含一個方法呼叫的監聽器
8.1.4 例項:改變觀感
8.1.5 介面卡類
8.2 動作
8.3 滑鼠事件
8.4 AWT事件繼承層次
第9章 Swing使用者介面元件
9.1 Swing和模型-檢視-控制器設計模式
9.1.1 設計模式
9.1.2 模型-檢視-控制器模式
9.1.3 Swing按鈕的模型-檢視-控制器分析
9.2 佈局管理概述
9.2.1 邊框佈局
9.2.2 網格佈局
9.3 文字輸入
9.3.1 文字域
9.3.2 標籤和標籤元件
9.3.3 密碼域
9.3.4 文字區
9.3.5 滾動窗格
9.4 選擇元件
9.4.1 複選框
9.4.2 單選按鈕
9.4.3 邊框
9.4.4 組合框
9.4.5 滑動條
9.5 選單
9.5.1 選單建立
9.5.2 選單項中的圖示
9.5.3 複選框和單選按鈕選單項
9.5.4 彈出選單
9.5.5 快捷鍵和加速器
9.5.6 啟用和禁用選單項
9.5.7 工具欄
9.5.8 工具提示
9.6 複雜的佈局管理
9.6.1 網格組佈局
9.6.2 組佈局
9.6.3 不使用佈局管理器
9.6.4 定製佈局管理器
9.6.5 遍歷順序
9.7 對話方塊
9.7.1 選項對話方塊
9.7.2 建立對話方塊
9.7.3 資料交換
9.7.4 檔案對話方塊
9.7.5 顏色選擇器
第10章 部署應用程式和applet
10.1 JAR檔案
10.1.1 清單檔案
10.1.2 可執行JAR檔案
10.1.3 資源
10.1.4 密封
10.2 Java Web Start
10.2.1 沙箱
10.2.2 簽名程式碼
10.2.3 JNLP API
10.3 applet
10.3.1 一個簡單的applet
10.3.2 applet的HTML標記和屬性
10.3.3 object標記
10.3.4 使用引數向applet傳遞資訊
10.3.5 訪問影象和音訊檔案
10.3.6 applet上下文
10.4 應用程式首選項儲存
10.4.1 屬性對映
10.4.2 Preferences API
第11章 異常、斷言、日誌和除錯
11.1 處理錯誤
11.1.1 異常分類
11.1.2 宣告已檢查異常
11.1.3 如何丟擲異常
11.1.4 建立異常類
11.2 捕獲異常
11.2.1 捕獲多個異常
11.2.2 再次丟擲異常與異常鏈
11.2.3 finally子句
11.2.4 帶資源的try語句
11.2.5 分析堆疊跟蹤元素
11.3 使用異常機制的技巧
11.4 使用斷言
11.4.1 啟用和禁用斷言
11.4.2 使用斷言完成引數檢查
11.4.3 為文件假設使用斷言
11.5 記錄日誌
11.5.1 基本日誌
11.5.2 高階日誌
11.5.3 修改日誌管理器配置
11.5.4 本地化
11.5.5 處理器
11.5.6 過濾器
11.5.7 格式化器
11.5.8 日誌記錄說明
11.6 除錯技巧
11.7 GUI程式排錯技巧
11.8 使用偵錯程式
第12章 泛型程式設計
12.1 為什麼要使用泛型程式設計
12.2 定義簡單泛型類
12.3 泛型方法
12.4 型別變數的限定
12.5 泛型程式碼和虛擬機器
12.5.1 翻譯泛型表示式
12.5.2 翻譯泛型方法
12.5.3 呼叫遺留程式碼
12.6 約束與侷限性
12.6.1 不能用基本型別例項化型別引數
12.6.2 執行時型別查詢只適用於原始型別
12.6.3 不能建立引數化型別的陣列
12.6.4 Varargs警告
12.6.5 不能例項化型別變數
12.6.6 泛型類的靜態上下文中型別變數無效
12.6.7 不能丟擲或捕獲泛型類的例項
12.6.8 注意擦除後的衝突
12.7 泛型型別的繼承規則
12.8 萬用字元型別
12.8.1 萬用字元的超型別限定
12.8.2 無限定萬用字元
12.8.3 萬用字元捕獲
12.9 反射和泛型
12.9.1 使用Class引數進行型別匹配
12.9.2 虛擬機器中的泛型型別資訊
第13章 集合
13.1 集合介面
13.1.1 將集合的介面與實現分離
13.1.2 Java類庫中的集合介面和迭代器介面
13.2 具體的集合
13.2.1 連結串列
13.2.2 陣列列表
13.2.3 雜湊集
13.2.4 樹集
13.2.5 物件的比較
13.2.6 佇列與雙端佇列
13.2.7 優先順序佇列
13.2.8 對映表
13.2.9 專用集與對映表類
13.3 集合框架
13.3.1 檢視與包裝器
13.3.2 批操作
13.3.3 集合與陣列之間的轉換
13.4 演算法
13.4.1 排序與混排
13.4.2 二分查詢
13.4.3 簡單演算法
13.4.4 編寫自己的演算法
13.5 遺留的集合
13.5.1 Hashtable類
13.5.2 列舉
13.5.3 屬性對映表
13.5.4 棧
13.5.5 位集
第14章 多執行緒
14.1 什麼是執行緒
14.2 中斷執行緒
14.3 執行緒狀態
14.3.1 新建立執行緒
14.3.2 可執行執行緒
14.3.3 被阻塞執行緒和等待執行緒
14.3.4 被終止的執行緒
14.4 執行緒屬性
14.4.1 執行緒優先順序
14.4.2 守護執行緒
14.4.3 未捕獲異常處理器
14.5 同步
14.5.1 競爭條件的一個例子
14.5.2 競爭條件詳解
14.5.3 鎖物件
14.5.4 條件物件
14.5.5 synchronized關鍵字
14.5.6 同步阻塞
14.5.7 監視器概念
14.5.8 Volatile域
14.5.9 final變數
14.5.10 原子性
14.5.11 死鎖
14.5.12 執行緒區域性變數
14.5.13 鎖測試與超時
14.5.14 讀/寫鎖
14.5.15 為什麼棄用stop和suspend方法
14.6 阻塞佇列
14.7 執行緒安全的集合
14.7.1 高效的對映表、集合和佇列
14.7.2 寫陣列的拷貝
14.7.3 較早的執行緒安全集合
14.8 Callable與Future
14.9 執行器
14.9.1 執行緒池
14.9.2 預定執行
14.9.3 控制任務組
14.9.4 Fork-Join框架
14.10 同步器
14.10.1 訊號量
14.10.2 倒計時門栓
14.10.3 障柵
14.10.4 交換器
14.10.5 同步佇列
14.11 執行緒與Swing
14.11.1 執行耗時的任務
14.11.2 使用Swing工作執行緒
14.11.3 單一執行緒規則
附錄 Java關鍵字