《深入理解Java 7:核心技術與最佳實踐》由資深Java軟體工程師,有多年Java企業級套用開發經驗,對Java 7和Java平台的各項技術的底層原理有深入透徹的研究的成富編寫而成。
基本介紹
- 作者:成富
- ISBN:9787111380399
- 頁數:450
- 定價:79.00元
- 出版時間:2012-5
- 裝幀:平裝
- 副標題:核心技術與最佳實踐
主要內容,作者簡介,作品目錄,
主要內容
第一部分是1-6章,全面闡釋Java 7在語法、JVM、類庫和API等方面的所有重要新功能和新特性,掌握這部分內容有助於大幅度提升編碼效率和提高代碼質量;
第二部分是7-13章,對JVM、Java原始碼和位元組代碼操作、類載入器、對象生命周期、多執行緒、並發編程、泛型、安全等Java平台的核心技術進行了深入解析,掌握這部分內容有助於深入理解Java的底層原理;
第三部分為第14章,是對Java8的展望,簡要介紹了Java 8中將要增加的新特性。
作者簡介
成富,資深Java軟體工程師,有多年Java企業級套用開發經驗,對Java 7和Java平台的各項技術的底層原理有深入透徹的研究。曾就職於IBM中國研發中心,先後在IBM新技術學院和Lotus部門參與了多個重要產品的開發工作,現就職於紐西蘭PropellerHead公司。他是非常受歡迎的技術作家,在IBM developerWorks上發表中英文技術文章近30篇,獲得了其頒發的“極具人氣作者獎”;他還是知名技術網站InfoQ的專欄作家,撰寫了“Java深度歷險”專欄,共發表技術文章10餘篇。此外,他還非常精通HTML 5、CSS 3、JavaScript等Web 2.0核心技術,實戰經驗豐富。
作品目錄
前言
Java的挑戰與展望
第1章 Java 7語法新特性
1.1 Coin項目介紹
1.2 在switch語句中使用字元串
1.2.1 基本用法
1.2.2 實現原理
1.2.3 枚舉類型
1.3 數值字面量的改進
1.3.1 二進制整數字面量
1.3.2 在數值字面量中使用下劃線
1.4 最佳化的異常處理
1.4.1 異常的基礎知識
1.4.2 創建自己的異常
1.4.3 處理異常
1.4.4 Java 7的異常處理新特性
1.5 try-with-resources語句
1.6 最佳化變長參數的方法調用
1.7 小結
第2章 Java語言的動態性
2.1 腳本語言支持API
2.1.1 腳本引擎
2.1.2 語言綁定
2.1.3 腳本執行上下文
2.1.4 腳本的編譯
2.1.5 方法調用
2.1.6 使用案例
2.2 反射API
2.2.1 獲取構造方法
2.2.2 獲取域
2.2.3 獲取方法
2.2.4 運算元組
2.2.5 訪問許可權與異常處理
2.3 動態代理
2.3.1 基本使用方式
2.3.2 使用案例
2.4 動態語言支持
2.4.1 Java語言與Java虛擬機
2.4.2 方法句柄
2.4.3 invokedynamic指令
2.5 小結
第3章 Java IO
3.1 流
3.1.1 基本輸入流
3.1.2 基本輸出流
3.1.3 輸入流的復用
3.1.4 過濾輸入輸出流
3.1.5 其他輸入輸出流
3.1.6 字元流
3.2 緩衝區
3.2.1 基本用法
3.2.2 位元組緩衝區
3.2.3 緩衝區視圖
3.3 通道
3.3.1 檔案通道
3.3.2 套接字通道
3.4 NIO.2
3.4.1 檔案系統訪問
3.4.2 zipjar檔案系統
3.4.3 異步IO通道
3.4.4 套接字通道綁定與配置
3.4.5 IP組播通道
3.5 使用案例
3.6 小結
第4章 國際化與本地化
4.1 國際化概述
4.2 Unicode
4.2.1 Unicode編碼格式
4.2.2 其他字元集
4.2.3 Java與Unicode
4.3 Java中的編碼實踐
4.3.1 Java NIO中的編碼器和解碼器
4.3.2 亂碼問題詳解
4.4 區域設定
4.4.1 IETF BCP 47
4.4.2 資源包
4.4.3 日期和時間
4.4.4 數字和貨幣
4.4.5 訊息文本
4.4.6 默認區域設定的類別
4.4.7 字元串比較
4.5 國際化與本地化基本實踐
4.6 小結
第5章 圖形用戶界面
5.1 Java圖形用戶界面概述
5.2 AWT
5.2.1 重要組件類
5.2.2 任意形狀的視窗
5.2.3 半透明視窗
5.2.4 組件混合
5.3 Swing
5.3.1 重要組件類
5.3.2 JLayer組件和LayerUI類
5.4 事件處理與執行緒安全性
5.4.1 事件處理
5.4.2 事件分發執行緒
5.4.3 SwingWorker類
5.4.4 SecondaryLoop接口
5.5 界面繪製
5.5.1 AWT中的界面繪製
5.5.2 Swing中的繪製
5.6 可插拔式外觀樣式
5.7 JavaFX
5.7.1 場景圖
5.7.2 變換
5.7.3 動畫效果
5.7.4 FXML
5.7.5 CSS外觀描述
5.7.6 Web引擎與網頁顯示
5.8 使用案例
5.9 小結
第6章 Java 7其他重要更新
6.1 關係資料庫訪問
6.1.1 使用try-with-resources語句
6.1.2 資料庫查詢的默認模式
6.1.3 資料庫連線逾時時間與終止
6.1.4 語句自動關閉
6.1.5 RowSet實現提供者
6.2 java.lang包的更新
6.2.1 基本類型的包裝類
6.2.2 進程使用
6.2.3 Thread類的更新
6.3 Java實用工具類
6.3.1 對象操作
6.3.2 正則表達式
6.3.3 壓縮檔案處理
6.4 JavaBeans組件
6.4.1 獲取組件信息
6.4.2 執行語句和表達式
6.4.3 持久化
6.5 小結
第7章 Java虛擬機
7.1 虛擬機基本概念
7.2 記憶體管理
7.3 引用類型
7.3.1 強引用
7.3.2 引用類型基本概念
7.3.3 軟引用
7.3.4 弱引用
7.3.5 幽靈引用
7.3.6 引用佇列
7.4 Java本地接口
7.4.1 JNI基本用法
7.4.2 Java程式中集成CC++代碼
7.4.3 在CC++程式中啟動Java虛擬機
7.5 HotSpot虛擬機
7.5.1 位元組代碼執行
7.5.2 垃圾回收
7.5.3 啟動參數
7.5.4 分析工具
7.5.5 Java虛擬機工具接口
7.6 小結
第8章 Java原始碼和位元組代碼操作
8.1 Java位元組代碼格式
8.1.1 基本格式
8.1.2 常量池的結構
8.1.3 屬性
8.2 動態編譯Java原始碼
8.2.1 使用javac工具
8.2.2 Java編譯器API
8.2.3 使用Eclipse JDT編譯器
8.3 位元組代碼增強
8.3.1 使用ASM
8.3.2 增強代理
8.4 註解
8.4.1 註解類型
8.4.2 創建註解類型
8.4.3 使用註解類型
8.4.4 處理註解
8.5 使用案例
8.6 小結
第9章 Java類載入器
9.1 類載入器概述
9.2 類載入器的層次結構與代理模式
9.3 創建類載入器
9.4 類載入器的隔離作用
9.5 執行緒上下文類載入器
9.6 Class.forName方法
9.7 載入資源
9.8 Web套用中的類載入器
9.9 OSGi中的類載入器
9.9.1 OSGi基本的類載入器機制
9.9.2 Equinox框架的類載入實現機制
9.9.3 Equinox框架嵌入到Web容器中
9.10 小結
第10章 對象生命周期
10.1 Java類的連結
10.2 Java類的初始化
10.3 對象的創建與初始化
10.4 對象終止
10.5 對象複製
10.6 對象序列化
10.6.1 默認的對象序列化
10.6.2 自定義對象序列化
10.6.3 對象替換
10.6.4 版本更新
10.6.5 安全性
10.6.6 使用Externalizable接口
10.7 小結
第11章 多執行緒與並發編程實踐
11.1 多執行緒
11.1.1 可見性
11.1.2 Java記憶體模型
11.1.3 volatile關鍵字
11.1.4 final關鍵字
11.1.5 原子操作
11.2 基本執行緒同步方式
11.2.1 synchronized關鍵字
11.2.2 Object類的wait、notify和notifyAll方法
11.3 使用Thread類
11.3.1 執行緒狀態
11.3.2 執行緒中斷
11.3.3 執行緒等待、睡眠和讓步
11.4 非阻塞方式
11.5 高級實用工具
11.5.1 高級同步機制
11.5.2 底層同步器
11.5.3 高級同步對象
11.5.4 數據結構
11.5.5 任務執行
11.6 Java SE 7新特性
11.6.1 輕量級任務執行框架forkjoin
11.6.2 多階段執行緒同步工具
11.7 ThreadLocal類
11.8 小結
第12章 Java泛型
12.1 泛型基本概念
12.2 類型擦除
12.3 上界和下界
12.4 通配符
12.5 泛型與數組
12.6 類型系統
12.7 覆寫與重載
12.7.1 覆寫對方法類型簽名的要求
12.7.2 覆寫對返回值類型的要求
12.7.3 覆寫對異常聲明的要求
12.7.4 重載
12.8 類型推斷和<>操作符
12.9 泛型與反射API
12.10 使用案例
12.11 小結
第13章 Java安全
13.1 Java安全概述
13.2 用戶認證
13.2.1 主體、身份標識與憑證
13.2.2 登錄
13.3 許可權控制
13.3.1 許可權、策略與保護域
13.3.2 訪問控制許可權
13.3.3 特權動作
13.3.4 訪問控制上下文
13.3.5 守衛對象
113.4 加密與解密、報文摘要和數字簽名
13.4.1 Java密碼框架
13.4.2 加密與解密
13.4.3 報文摘要
13.4.4 數字簽名
13.5 安全套接字連線
13.5.1 SSL協定
13.5.2 HTTPS
13.6 使用案例
13.7 小結
第14章 超越Java 7
14.1 lambda表達式
14.1.1 函式式接口
14.1.2 lambda表達式的語法
14.1.3 目標類型
14.1.4 詞法作用域
14.1.5 方法引用
14.1.6 接口的默認方法
14.2 Java平台模組化
14.3 Java SE 8的其他更新
14.4 小結
附錄A OpenJDK
附錄B Java簡史 4483.4 加密與解密、報文摘要和數字簽名
13.4.1 Java密碼框架
13.4.2 加密與解密
13.4.3 報文摘要
13.4.4 數字簽名
13.5 安全套接字連線
13.5.1 SSL協定
13.5.2 HTTPS
13.6 使用案例
13.7 小結
第14章 超越Java 7
14.1 lambda表達式
14.1.1 函式式接口
14.1.2 lambda表達式的語法
14.1.3 目標類型
14.1.4 詞法作用域
14.1.5 方法引用
14.1.6 接口的默認方法
14.2 Java平台模組化
14.3 Java SE 8的其他更新
14.4 小結
附錄A OpenJDK
附錄B Java簡史
Java的挑戰與展望
第1章 Java 7語法新特性
1.1 Coin項目介紹
1.2 在switch語句中使用字元串
1.2.1 基本用法
1.2.2 實現原理
1.2.3 枚舉類型
1.3 數值字面量的改進
1.3.1 二進制整數字面量
1.3.2 在數值字面量中使用下劃線
1.4 最佳化的異常處理
1.4.1 異常的基礎知識
1.4.2 創建自己的異常
1.4.3 處理異常
1.4.4 Java 7的異常處理新特性
1.5 try-with-resources語句
1.6 最佳化變長參數的方法調用
1.7 小結
第2章 Java語言的動態性
2.1 腳本語言支持API
2.1.1 腳本引擎
2.1.2 語言綁定
2.1.3 腳本執行上下文
2.1.4 腳本的編譯
2.1.5 方法調用
2.1.6 使用案例
2.2 反射API
2.2.1 獲取構造方法
2.2.2 獲取域
2.2.3 獲取方法
2.2.4 運算元組
2.2.5 訪問許可權與異常處理
2.3 動態代理
2.3.1 基本使用方式
2.3.2 使用案例
2.4 動態語言支持
2.4.1 Java語言與Java虛擬機
2.4.2 方法句柄
2.4.3 invokedynamic指令
2.5 小結
第3章 Java IO
3.1 流
3.1.1 基本輸入流
3.1.2 基本輸出流
3.1.3 輸入流的復用
3.1.4 過濾輸入輸出流
3.1.5 其他輸入輸出流
3.1.6 字元流
3.2 緩衝區
3.2.1 基本用法
3.2.2 位元組緩衝區
3.2.3 緩衝區視圖
3.3 通道
3.3.1 檔案通道
3.3.2 套接字通道
3.4 NIO.2
3.4.1 檔案系統訪問
3.4.2 zipjar檔案系統
3.4.3 異步IO通道
3.4.4 套接字通道綁定與配置
3.4.5 IP組播通道
3.5 使用案例
3.6 小結
第4章 國際化與本地化
4.1 國際化概述
4.2 Unicode
4.2.1 Unicode編碼格式
4.2.2 其他字元集
4.2.3 Java與Unicode
4.3 Java中的編碼實踐
4.3.1 Java NIO中的編碼器和解碼器
4.3.2 亂碼問題詳解
4.4 區域設定
4.4.1 IETF BCP 47
4.4.2 資源包
4.4.3 日期和時間
4.4.4 數字和貨幣
4.4.5 訊息文本
4.4.6 默認區域設定的類別
4.4.7 字元串比較
4.5 國際化與本地化基本實踐
4.6 小結
第5章 圖形用戶界面
5.1 Java圖形用戶界面概述
5.2 AWT
5.2.1 重要組件類
5.2.2 任意形狀的視窗
5.2.3 半透明視窗
5.2.4 組件混合
5.3 Swing
5.3.1 重要組件類
5.3.2 JLayer組件和LayerUI類
5.4 事件處理與執行緒安全性
5.4.1 事件處理
5.4.2 事件分發執行緒
5.4.3 SwingWorker類
5.4.4 SecondaryLoop接口
5.5 界面繪製
5.5.1 AWT中的界面繪製
5.5.2 Swing中的繪製
5.6 可插拔式外觀樣式
5.7 JavaFX
5.7.1 場景圖
5.7.2 變換
5.7.3 動畫效果
5.7.4 FXML
5.7.5 CSS外觀描述
5.7.6 Web引擎與網頁顯示
5.8 使用案例
5.9 小結
第6章 Java 7其他重要更新
6.1 關係資料庫訪問
6.1.1 使用try-with-resources語句
6.1.2 資料庫查詢的默認模式
6.1.3 資料庫連線逾時時間與終止
6.1.4 語句自動關閉
6.1.5 RowSet實現提供者
6.2 java.lang包的更新
6.2.1 基本類型的包裝類
6.2.2 進程使用
6.2.3 Thread類的更新
6.3 Java實用工具類
6.3.1 對象操作
6.3.2 正則表達式
6.3.3 壓縮檔案處理
6.4 JavaBeans組件
6.4.1 獲取組件信息
6.4.2 執行語句和表達式
6.4.3 持久化
6.5 小結
第7章 Java虛擬機
7.1 虛擬機基本概念
7.2 記憶體管理
7.3 引用類型
7.3.1 強引用
7.3.2 引用類型基本概念
7.3.3 軟引用
7.3.4 弱引用
7.3.5 幽靈引用
7.3.6 引用佇列
7.4 Java本地接口
7.4.1 JNI基本用法
7.4.2 Java程式中集成CC++代碼
7.4.3 在CC++程式中啟動Java虛擬機
7.5 HotSpot虛擬機
7.5.1 位元組代碼執行
7.5.2 垃圾回收
7.5.3 啟動參數
7.5.4 分析工具
7.5.5 Java虛擬機工具接口
7.6 小結
第8章 Java原始碼和位元組代碼操作
8.1 Java位元組代碼格式
8.1.1 基本格式
8.1.2 常量池的結構
8.1.3 屬性
8.2 動態編譯Java原始碼
8.2.1 使用javac工具
8.2.2 Java編譯器API
8.2.3 使用Eclipse JDT編譯器
8.3 位元組代碼增強
8.3.1 使用ASM
8.3.2 增強代理
8.4 註解
8.4.1 註解類型
8.4.2 創建註解類型
8.4.3 使用註解類型
8.4.4 處理註解
8.5 使用案例
8.6 小結
第9章 Java類載入器
9.1 類載入器概述
9.2 類載入器的層次結構與代理模式
9.3 創建類載入器
9.4 類載入器的隔離作用
9.5 執行緒上下文類載入器
9.6 Class.forName方法
9.7 載入資源
9.8 Web套用中的類載入器
9.9 OSGi中的類載入器
9.9.1 OSGi基本的類載入器機制
9.9.2 Equinox框架的類載入實現機制
9.9.3 Equinox框架嵌入到Web容器中
9.10 小結
第10章 對象生命周期
10.1 Java類的連結
10.2 Java類的初始化
10.3 對象的創建與初始化
10.4 對象終止
10.5 對象複製
10.6 對象序列化
10.6.1 默認的對象序列化
10.6.2 自定義對象序列化
10.6.3 對象替換
10.6.4 版本更新
10.6.5 安全性
10.6.6 使用Externalizable接口
10.7 小結
第11章 多執行緒與並發編程實踐
11.1 多執行緒
11.1.1 可見性
11.1.2 Java記憶體模型
11.1.3 volatile關鍵字
11.1.4 final關鍵字
11.1.5 原子操作
11.2 基本執行緒同步方式
11.2.1 synchronized關鍵字
11.2.2 Object類的wait、notify和notifyAll方法
11.3 使用Thread類
11.3.1 執行緒狀態
11.3.2 執行緒中斷
11.3.3 執行緒等待、睡眠和讓步
11.4 非阻塞方式
11.5 高級實用工具
11.5.1 高級同步機制
11.5.2 底層同步器
11.5.3 高級同步對象
11.5.4 數據結構
11.5.5 任務執行
11.6 Java SE 7新特性
11.6.1 輕量級任務執行框架forkjoin
11.6.2 多階段執行緒同步工具
11.7 ThreadLocal類
11.8 小結
第12章 Java泛型
12.1 泛型基本概念
12.2 類型擦除
12.3 上界和下界
12.4 通配符
12.5 泛型與數組
12.6 類型系統
12.7 覆寫與重載
12.7.1 覆寫對方法類型簽名的要求
12.7.2 覆寫對返回值類型的要求
12.7.3 覆寫對異常聲明的要求
12.7.4 重載
12.8 類型推斷和<>操作符
12.9 泛型與反射API
12.10 使用案例
12.11 小結
第13章 Java安全
13.1 Java安全概述
13.2 用戶認證
13.2.1 主體、身份標識與憑證
13.2.2 登錄
13.3 許可權控制
13.3.1 許可權、策略與保護域
13.3.2 訪問控制許可權
13.3.3 特權動作
13.3.4 訪問控制上下文
13.3.5 守衛對象
113.4 加密與解密、報文摘要和數字簽名
13.4.1 Java密碼框架
13.4.2 加密與解密
13.4.3 報文摘要
13.4.4 數字簽名
13.5 安全套接字連線
13.5.1 SSL協定
13.5.2 HTTPS
13.6 使用案例
13.7 小結
第14章 超越Java 7
14.1 lambda表達式
14.1.1 函式式接口
14.1.2 lambda表達式的語法
14.1.3 目標類型
14.1.4 詞法作用域
14.1.5 方法引用
14.1.6 接口的默認方法
14.2 Java平台模組化
14.3 Java SE 8的其他更新
14.4 小結
附錄A OpenJDK
附錄B Java簡史 4483.4 加密與解密、報文摘要和數字簽名
13.4.1 Java密碼框架
13.4.2 加密與解密
13.4.3 報文摘要
13.4.4 數字簽名
13.5 安全套接字連線
13.5.1 SSL協定
13.5.2 HTTPS
13.6 使用案例
13.7 小結
第14章 超越Java 7
14.1 lambda表達式
14.1.1 函式式接口
14.1.2 lambda表達式的語法
14.1.3 目標類型
14.1.4 詞法作用域
14.1.5 方法引用
14.1.6 接口的默認方法
14.2 Java平台模組化
14.3 Java SE 8的其他更新
14.4 小結
附錄A OpenJDK
附錄B Java簡史