深入理解Java 7:核心技術與最佳實踐

深入理解Java 7:核心技術與最佳實踐

計算機書籍

《深入理解java 7:核心技術與最佳實踐》是學習java 7新功能和新特性以及深入理解java核心技術的最佳選擇之一。經過近6年的等待,java迎來了它的又一個歷史性的版本—java 7。java 7在提高開發人員的生產效率、平台性能和模組方向上又邁進了一步,變得更加強大和靈活。《深入理解java 7:核心技術與最佳實踐》不僅對java 7的所有重要更新進行了全面的解讀,而且還對java平台的核心技術的底層實現進行了深入探討,包含大量最佳實踐。

基本信息

開本:16開

頁碼:1

版次:1-1

所屬分類: 計算機 > 軟體與程式設計 > JAVA(J#) > Java

內容簡介

計算機書籍

《深入理解java 7:核心技術與最佳實踐》是學習java 7新功能和新特性以及深入理解java核心技術的最佳選擇之一。經過近6年的等待,java迎來了它的又一個歷史性的版本—java 7。java 7在提高開發人員的生產效率、平台性能和模組方向上又邁進了一步,變得更加強大和靈活。《深入理解java 7:核心技術與最佳實踐》不僅對java 7的所有重要更新進行了全面的解讀,而且還對java平台的核心技術的底層實現進行了深入探討,包含大量最佳實踐。

全書的主要內容可分為三大部分:第一部分是1~6章,全面闡釋java 7在語法、jvm、類庫和api等方面的所有重要新功能和新特性,掌握這部分內容有助於大幅度提升編碼效率和提高代碼質量;第二部分是7~13章,對jvm、java原始碼和位元組代碼操作、類載入器、對象生命周期、多執行緒、並發編程、泛型、安全等java平台的核心技術進行了深入解析,掌握這部分內容有助於深入理解java的底層原理;第三部分為第14章,是對java 8的展望,簡要介紹了java 8中將要增加的新特性。

目錄

《深入理解java 7:核心技術與最佳實踐》

前 言

java的挑戰與展望

第1章 java 7語法新特性 / 1

1.1 coin項目介紹 / 1

1.2 在switch語句中使用字元串 / 2

1.2.1 基本用法 / 2

1.2.2 實現原理 / 3

1.2.3 枚舉類型 / 5

1.3 數值字面量的改進 / 5

1.3.1 二進制整數字面量  / 6

1.3.2 在數值字面量中使用下劃線 / 6

1.4 最佳化的異常處理 / 7

1.4.1 異常的基礎知識 / 7

1.4.2 創建自己的異常 / 8

1.4.3 處理異常 / 12

1.4.4 java 7的異常處理新特性 / 14

1.5 try-with-resources語句 / 17

1.6 最佳化變長參數的方法調用 / 19

1.7 小結 / 21

.第2章 java語言的動態性 / 22

2.1 腳本語言支持api / 22

2.1.1 腳本引擎 / 23

2.1.2 語言綁定 / 24

2.1.3 腳本執行上下文 / 25

2.1.4 腳本的編譯 / 27

2.1.5 方法調用 / 28

2.1.6 使用案例 / 29

2.2 反射api / 31

2.2.1 獲取構造方法 / 32

2.2.2 獲取域 / 34

2.2.3 獲取方法 / 34

2.2.4 運算元組 / 35

2.2.5 訪問許可權與異常處理 / 36

2.3 動態代理 / 36

2.3.1 基本使用方式 / 36

2.3.2 使用案例 / 40

2.4 動態語言支持 / 42

2.4.1 java語言與java虛擬機 / 43

2.4.2 方法句柄 / 44

2.4.3 invokedynamic指令 / 66

2.5 小結 / 73

第3章 java i/o / 75

3.1 流 / 75

3.1.1 基本輸入流 / 76

3.1.2 基本輸出流 / 77

3.1.3 輸入流的復用 / 78

3.1.4 過濾輸入輸出流 / 80

3.1.5 其他輸入輸出流 / 81

3.1.6 字元流 / 81

3.2 緩衝區 / 82

3.2.1 基本用法 / 83

3.2.2 位元組緩衝區 / 84

3.2.3 緩衝區視圖 / 86

3.3 通道 / 87

3.3.1 檔案通道 / 88

3.3.2 套接字通道 / 93

3.4 nio.2 / 98

3.4.1 檔案系統訪問 / 98

3.4.2 zip/jar檔案系統 / 106

3.4.3 異步i/o通道 / 108

3.4.4 套接字通道綁定與配置 / 111

3.4.5 ip組播通道 / 111

3.5 使用案例 / 113

3.6 小結 / 115

第4章 國際化與本地化 / 117

4.1 國際化概述 / 117

4.2 unicode / 118

4.2.1 unicode編碼格式 / 119

4.2.2 其他字元集 / 124

4.2.3 java與unicode / 124

4.3 java中的編碼實踐 / 125

4.3.1 java nio中的編碼器和解碼器 / 126

4.3.2 亂碼問題詳解 / 130

4.4 區域設定 / 133

4.4.1 ietf bcp 47 / 134

4.4.2 資源包 / 135

4.4.3 日期和時間 / 143

4.4.4 數字和貨幣 / 144

4.4.5 訊息文本 / 146

4.4.6 默認區域設定的類別 / 148

4.4.7 字元串比較 / 148

4.5 國際化與本地化基本實踐 / 149

4.6 小結 / 152

第5章 圖形用戶界面 / 153

5.1 java圖形用戶界面概述 / 153

5.2 awt / 156

5.2.1 重要組件類 / 156

5.2.2 任意形狀的視窗 / 157

5.2.3 半透明視窗 / 158

5.2.4 組件混合 / 159

5.3 swing / 159

5.3.1 重要組件類 / 159

5.3.2 jlayer組件和layerui類 / 161

5.4 事件處理與執行緒安全性 / 163

5.4.1 事件處理 / 163

5.4.2 事件分發執行緒 / 165

5.4.3 swingworker類 / 167

5.4.4 secondaryloop接口 / 169

5.5 界面繪製 / 170

5.5.1 awt中的界面繪製 / 170

5.5.2 swing中的繪製 / 171

5.6 可插拔式外觀樣式 / 172

5.7 javafx / 175

5.7.1 場景圖 / 175

5.7.2 變換 / 177

5.7.3 動畫效果 / 177

5.7.4 fxml / 179

5.7.5 css外觀描述 / 181

5.7.6 web引擎與網頁顯示 / 182

5.8 使用案例 / 183

5.9 小結 / 185

第6章 java 7其他重要更新 / 186

6.1 關係資料庫訪問 / 186

6.1.1 使用try-with-resources語句 / 186

6.1.2 資料庫查詢的默認模式 / 187

6.1.3 資料庫連線逾時時間與終止 / 188

6.1.4 語句自動關閉 / 189

6.1.5 rowset實現提供者 / 190

6.2 java.lang包的更新 / 191

6.2.1 基本類型的包裝類 / 191

6.2.2 進程使用 / 192

6.2.3 thread類的更新 / 194

6.3 java實用工具類 / 195

6.3.1 對象操作 / 195

6.3.2 正則表達式 / 197

6.3.3 壓縮檔案處理 / 200

6.4 javabeans組件 / 201

6.4.1 獲取組件信息 / 201

6.4.2 執行語句和表達式 / 202

6.4.3 持久化 / 202

6.5 小結 / 203

第7章 java虛擬機 / 205

7.1 虛擬機基本概念 / 205

7.2 記憶體管理 / 206

7.3 引用類型 / 208

7.3.1 強引用 / 209

7.3.2 引用類型基本概念 / 211

7.3.3 軟引用 / 213

7.3.4 弱引用 / 215

7.3.5 幽靈引用 / 217

7.3.6 引用佇列 / 220

7.4 java本地接口 / 221

7.4.1 jni基本用法 / 221

7.4.2 java程式中集成c/c++代碼 / 225

7.4.3 在c/c++程式中啟動java虛擬機 / 227

7.5 hotspot虛擬機 / 228

7.5.1 位元組代碼執行 / 229

7.5.2 垃圾回收 / 229

7.5.3 啟動參數 / 235

7.5.4 分析工具 / 236

7.5.5 java虛擬機工具接口 / 241

7.6 小結 / 244

第8章 java原始碼和位元組代碼操作 / 245

8.1 java位元組代碼格式 / 245

8.1.1 基本格式 / 246

8.1.2 常量池的結構 / 248

8.1.3 屬性 / 249

8.2 動態編譯java原始碼 / 249

8.2.1 使用javac工具 / 250

8.2.2 java編譯器api / 251

8.2.3 使用eclipse jdt編譯器 / 254

8.3 位元組代碼增強 / 257

8.3.1 使用asm / 258

8.3.2 增強代理 / 267

8.4 註解 / 271

8.4.1 註解類型 / 271

8.4.2 創建註解類型 / 273

8.4.3 使用註解類型 / 274

8.4.4 處理註解 / 275

8.5 使用案例 / 284

8.6 小結 / 286

第9章 java類載入器 / 287

9.1 類載入器概述 / 287

9.2 類載入器的層次結構與代理模式 / 288

9.3 創建類載入器 / 290

9.4 類載入器的隔離作用 / 294

9.5 執行緒上下文類載入器 / 296

9.6 class.forname方法 / 298

9.7 載入資源 / 299

9.8 web套用中的類載入器 / 301

9.9 osgi中的類載入器 / 303

9.9.1 osgi基本的類載入器機制 / 303

9.9.2 equinox框架的類載入實現機制 / 303

9.9.3 equinox框架嵌入到web容器中 / 306

9.10 小結 / 308

第10章 對象生命周期 / 309

10.1 java類的連結 / 309

10.2 java類的初始化 / 311

10.3 對象的創建與初始化 / 312

10.4 對象終止 / 314

10.5 對象複製 / 318

10.6 對象序列化 / 322

10.6.1 默認的對象序列化 / 324

10.6.2 自定義對象序列化 / 326

10.6.3 對象替換 / 329

10.6.4 版本更新 / 330

10.6.5 安全性 / 331

10.6.6 使用externalizable接口 / 332

10.7 小結 / 334

第11章 多執行緒與並發編程實踐 / 335

11.1 多執行緒 / 335

11.1.1 可見性 / 336

11.1.2 java記憶體模型 / 339

11.1.3 volatile關鍵字 / 340

11.1.4 final關鍵字 / 341

11.1.5 原子操作 / 342

11.2 基本執行緒同步方式 / 343

11.2.1 synchronized關鍵字 / 343

11.2.2 object類的wait、notify和notifyall方法 / 344

11.3 使用thread類 / 346

11.3.1 執行緒狀態 / 346

11.3.2 執行緒中斷 / 347

11.3.3 執行緒等待、睡眠和讓步 / 348

11.4 非阻塞方式 / 349

11.5 高級實用工具 / 352

11.5.1 高級同步機制 / 352

11.5.2 底層同步器 / 355

11.5.3 高級同步對象 / 357

11.5.4 數據結構 / 363

11.5.5 任務執行 / 365

11.6 java se 7新特性 / 368

11.6.1 輕量級任務執行框架fork/join / 368

11.6.2 多階段執行緒同步工具 / 370

11.7 threadlocal類 / 373

11.8 小結 / 374

第12章 java泛型 / 375

12.1 泛型基本概念 / 375

12.2 類型擦除 / 378

12.3 上界和下界 / 382

12.4 通配符 / 384

12.5 泛型與數組 / 385

12.6 類型系統 / 388

12.7 覆寫與重載 / 391

12.7.1 覆寫對方法類型簽名的要求 / 391

12.7.2 覆寫對返回值類型的要求 / 395

12.7.3 覆寫對異常聲明的要求 / 396

12.7.4 重載 / 396

12.8 類型推斷和[]操作符 / 397

12.9 泛型與反射api / 400

12.10 使用案例 / 402

12.11 小結 / 403

第13章 java安全 / 405

13.1 java安全概述 / 405

13.2 用戶認證 / 406

13.2.1 主體、身份標識與憑證 / 406

13.2.2 登錄 / 407

13.3 許可權控制 / 415

13.3.1 許可權、策略與保護域 / 416

13.3.2 訪問控制許可權 / 418

13.3.3 特權動作 / 420

13.3.4 訪問控制上下文 / 421

13.3.5 守衛對象 / 423

13.4 加密與解密、報文摘要和數字簽名 / 424

13.4.1 java密碼框架 / 424

13.4.2 加密與解密 / 425

13.4.3 報文摘要 / 427

13.4.4 數字簽名 / 428

13.5 安全套接字連線 / 430

13.5.1 ssl協定 / 431

13.5.2 https / 432

13.6 使用案例 / 434

13.7 小結 / 437

第14章 超越java 7 / 438

14.1 lambda表達式 / 438

14.1.1 函式式接口 / 439

14.1.2 lambda表達式的語法 / 440

14.1.3 目標類型 / 440

14.1.4 詞法作用域 / 441

14.1.5 方法引用 / 442

14.1.6 接口的默認方法 / 443

14.2 java平台模組化 / 444

14.3 java se 8的其他更新 / 445

14.4 小結 / 445

附錄a openjdk / 446

附錄b java簡史 / 448

相關詞條

熱門詞條

聯絡我們