Java程式設計高級教程(第3版)

Java程式設計高級教程(第3版)

《Java程式設計高級教程(第3版)》是2006年清華大學出版社出版的圖書,作者是李海峰。

本書是專為那些希望擴展Java知識及相關技術的程式設計師編寫的,可以幫助他們從初學者或初級水平達到專業程式設計師所期望的實用技能水平。歡迎符合以下標準的讀者閱讀本書。

基本介紹

圖書簡介,圖書目錄,

圖書簡介

本書主要介紹Java 2標準版(J2SE),主要目的是介紹Java編程的一年級課程中沒有介紹的所有J2SE知識。

圖書目錄

第1章 高級Java編程介紹1
1.1 Java平台概述1
1.1.1 Java程式和組件2
1.1.2 Java 2平台的3種
版本4
1.2 Java平台簡史6
1.3 Java中的面向對象編程8
1.3.1 面向對象技術9
1.3.2 Java的面向對象
特性10
1.3.3 設計模式和框架12
1.4 標準SDK工具16
1.4.1 啟動器如何查找類18
1.4.2 編譯器如何查找類19
1.5 javadoc注釋19
1.5.1 使用javadoc標記20
1.5.2 從javadoc創建
HTML23
1.6 包裝程式以便發布27
1.7 使用Application Developer構建
程式29
1.8 Java 2平台的新增功能38
1.8.1 斷言39
1.8.2 Java Web Start41
1.8.3 J2SDK中的新API41
1.9 複習題42
1.10 編程練習50
1.10.1 調試50
1.10.2 完成解決方案53
1.10.3 探索54
第2章 類和對象57
2.1 簡介57
2.2 類和面向對象編程58
2.3 使用構造函式和完成器59
2.3.1 構造函式59
2.3.2 完成器60
2.4 引用對象和無用單元
收集器63
2.5 克隆對象64
2.5.1 使對象能被克隆65
2.5.2 重寫默認的clone
方法67
2.5.3 定義可以克隆的類70
2.6 運行時類型信息72
2.6.1 確定對象的類型73
2.6.2 在運行時訪問類的
信息73
2.7 類型之間的強制轉換77
2.8 使用反射API79
2.9 嵌套類和接口89
2.10 內部類93
2.10.1 理解使用內部類的
原因94
2.10.2 定義成員內部類94
2.10.3 解決內部類中的名稱
衝突98
2.10.4 內部類的包裝
對象98
2.10.5 使用成員內部類的
子類101
2.11 局部內部類102
2.12 匿名局部內部類105
2.12.1 創建匿名內部類105
2.12.2 使用實例初始化
程式106
2.13 嵌套類和內部類的類
檔案107
2.14 複習題107
2.15 編程練習116
2.15.1 調試116
2.15.2 完成解決方案122
2.15.3 探索123
第3章 輸入/輸出和串列化124
3.1 Java平台如何支持I/O124
3.2 對I/O進行編程125
3.3 面向位元組流的類126
3.3.1 預先定義的流
對象126
3.3.2 輸入方法和輸出
方法128
3.3.3 篩選流129
3.3.4 其他位元組I/O類130
3.3.5 分析控制台I/O示例
程式130
3.3.6 分析輸入字元串133
3.4 檔案I/O的基礎知識134
3.4.1 檔案導航方法135
3.4.2 隨機訪問的檔案
I/O140
3.5 字元流140
3.5.1 連線位元組和字元I/O
類141
3.5.2 使用其他的字元I/O
類141
3.5.3 每次讀取一個令牌142
3.6 新I/O(NIO)編程接口142
3.6.1 緩衝區142
3.6.2 通道144
3.6.3 映射的緩衝區和檔案
鎖定147
3.7 對象串列化149
3.7.1 串列化對象149
3.7.2 使用對象流150
3.7.3 抑制欄位的串列化150
3.7.4 強制串列化已改變的
對象154
3.7.5 指定版本號154
3.7.6 串列化格式的兼
容性155
3.8 複習題155
3.9 編程練習158
3.9.1 調試158
3.9.2 完成解決方案163
3.9.3 探索163
第4章 集合和大量實用程式164
4.1 簡介164
4.2 實用程式包165
4.3 集合框架166
4.3.1 集合框架中的3個關鍵
接口170
4.3.2 使用疊代器遍歷
集合174
4.3.3 通用的實現176
4.3.4 作為集合的數組183
4.3.5 集合排序184
4.3.6 映射191
4.3.7 繼承集合類201
4.3.8 擴展集合框架 211
4.3.9 集合的算法211
4.3.10 集合的包裝器
實現213
4.4 實現Observer?鄄Observable設定
模式214
4.5 生成隨機數218
4.6 格式化輸出並使用現場220
4.6.1 介紹現場221
4.6.2 格式化日期和時間224
4.6.3 格式化百分數、金融值和
數字227
4.7 使用資源和屬性檔案230
4.7.1 使用資源包230
4.7.2 創建屬性檔案234
4.7.3 使用屬性檔案235
4.7.4 檢索和格式化
訊息239
4.8 使用StringTokenizer類解析
字元串240
4.9 具有正則表達式的模式
識別242
4.9.1 正則表達式的
語法243
4.9.2 處理正則表達式245
4.10 複習題250
4.11 編程練習253
4.11.1 調試253
4.11.2 完成解決方案256
4.11.3 探索257
第5章 多執行緒259
5.1 執行緒和多執行緒259
5.2 執行緒的生命周期260
5.3 創建並運行執行緒262
5.3.1 使用Thread類262
5.3.2 使用Runnable接口267
5.3.3 終止執行緒269
5.4 創建服務執行緒273
5.5 使用JVM來調度任務273
5.6 編寫健壯的多執行緒程式276
5.7 使變數值免受執行緒攻擊277
5.8 同步執行緒280
5.8.1 何時同步代碼283
5.8.2 同步內部類的方法284
5.9 線上程之間通信285
5.9.1 使執行緒等待288
5.9.2 喚醒一個執行緒288
5.9.3 喚醒所有的執行緒289
5.9.4 一個執行緒間通信的
示例289
5.10 組合執行緒293
5.11 複習題298
5.12 編程練習301
5.12.1 調試302
5.12.2 完成解決方案304
5.12.3 探索305
第6章 圖形用戶界面的公共元素307
6.1 簡介307
6.2 GUI的主要功能和術語308
6.3 JFC簡介310
6.4 事件模型312
6.4.1 Swing API312
6.4.2 可分開的模型體系
結構315
6.5 JFC樣本程式317
6.5.1 Java Hello World!
程式317
6.5.2 3個面板示例320
6.6 布局管理器327
6.6.1 框線布局330
6.6.2 流布局331
6.6.3 格線布局332
6.6.4 格線包布局333
6.6.5 卡布局334
6.6.6 框布局334
6.6.7 帶選項卡的窗格335
6.6.8 分裂窗格335
6.6.9 手動放置組件335
6.7 事件336
6.7.1 偵聽器接口和它們的適
配器類338
6.7.2 啟動長操作的事件340
6.8 著色341
6.8.1 Graphics的基礎
支持342
6.8.2 Java 2D API347
6.9 複習題351
6.10 編程練習353
6.10.1 調試353
6.10.2 完成解決方案356
6.10.3 探索357
第7章 多功能圖形用戶界面(GUI)的
組件和設備358
7.1 使用JFC編程358
7.2 Swing API組件360
7.3 JComponent類361
7.4 視窗、對話框和面板363
7.5 標籤、按鈕和複選框369
7.6 選單、工具列和動作376
7.7 滑塊、微調按鈕、進度欄和
滾動條384
7.8 列表和組合框390
7.9 文本輸入組件396
7.10 顏色及檔案選擇器403
7.11 表和樹410
7.12 以2D API列印415
7.13 Java Print Service API423
7.14 複習題429
7.15 編程練習431
7.15.1 調試431
7.15.2 完成解決方案435
7.15.3 探索435
第8章 JavaBean437
8.1 簡介437
8.2 JavaBean組件模型438
8.3 使類成為Bean的工具438
8.4 Bean 開發環境441
8.5 使用Sun BeanBox442
8.6 創建JavaBean類444
8.6.1 ImageBean1類的
分解447
8.6.2 BeanBox中使用的
ImageBean1類449
8.7 分析JavaBean屬性類型452
8.7.1 索引屬性452
8.7.2 綁定屬性453
8.7.3 約束屬性454
8.8 添加自定義事件類型455
8.9 使用事件創建JavaBean類455
8.9.1 ImageBean2類的
分解459
8.9.2 ImageBean2 bean的自定義
事件類462
8.9.3 自定義事件類的偵聽器
接口463
8.9.4 用於BeanBox中的
ImageBean2類463
8.10 使用BeanInfo類465
8.10.1 提供自定義屬性
編輯器467
8.10.2 使用BeanInfo類創建
JavaBean類467
8.10.3 ImageBean3類的
分解472
8.10.4 ImageBean3類的屬性編輯器類473
8.10.5 ImageBean3類的信息
類475
8.10.6 ImageBean3BeanInfo類的
分解476
8.11 複習題478
8.12 編程練習480
8.12.1 調試480
8.12.2 完成解決方案485
8.12.3 探索486
第9章 使用關係資料庫487
9.1 簡介487
9.2 資料庫編程的最好實踐488
9.2.1 套用模型-視圖-持久
性設計模式488
9.2.2 定義Java對象和數據元素
之間的映射490
9.2.3 資料庫管理員的
權利493
9.2.4 根據事務設計套用
程式494
9.2.5 考慮使用實體企業級
JavaBean495
9.3 RDBM系統的JDBC
驅動器495
9.4 SQL到Java類型映射496
9.5 理解本章用到的資料庫497
9.6 使用java.sql API498
9.6.1 創建和執行SQL
語句499
9.6.2 建立資料庫連線500
9.6.3 發布動態SQL
語句504
9.6.4 處理ResultSet510
9.6.5 使用可滾動
ResultSets514
9.6.6 使用預編譯SQL514
9.6.7 使用存儲過程516
9.6.8 使用ResultSet更新
資料庫518
9.7 事務編碼518
9.8 使用javax.sql API523
9.8.1 數據源體系結構525
9.8.2 對WebSphere Application
Server使用數據源 526
9.9 連線池527
9.10 複習題529
9.11 編程練習531
9.11.1 調試531
9.11.2 完成解決模式532
9.11.3 探索533
第10章 XML534
10.1 簡介534
10.2 XML結構535
10.2.1 使用屬性536
10.2.2 使用命名空間536
10.2.3 插入注釋537
10.2.4 插入特殊字元537
10.2.5 HTML、XHTML和
XML537
10.3 XML示例文檔538
10.4 用SAX解析XML文檔539
10.5 使用DOM解析XML
文檔546
10.6 使用DOM創建XML
文檔549
10.7 使用DTD和XML模式檢驗
XML文檔552
10.7.1 DTD552
10.7.2 XML模式555
10.8 使用XSLT轉換XML557
10.8.1 XPath557
10.8.2 樣式示例557
10.9 複習題562
10.10 編程練習563
10.10.1 調試563
10.10.2 完成解決方案563
10.10.3 探索564
第11章 網路編程565
11.1 簡介565
11.2 使用URL566
11.3 使用套接字567
11.3.1 TCP/IP套接字567
11.3.2 數據報套接字574
11.4 遠程方法調用579
11.4.1 開發遠程對象類580
11.4.2 開發RMI服務
器類582
11.4.3 開發RMI客戶類584
11.4.4 JNDI587
11.4.5 CORBA、RMI-IIOP
和IDL588
11.5 複習題589
11.6 編程練習591
11.6.1 調試591
11.6.2 完成解決方案592
11.6.3 探索592
第12章 安全性594
12.1 簡介594
12.2 密碼術594
12.2.1 對稱和不對稱密碼
系統595
12.2.2 Java支持的密碼系統
密鑰596
12.2.3 加密和解密I/O流597
12.2.4 訊息摘要和訊息身份
驗證代碼603
12.2.5 數字簽名607
12.2.6 證書611
12.3 安全套接字層(SSL)613
12.3.1 安全套接字層
握手613
12.3.2 Java安全套接字
擴展614
12.4 安全策略定義和實施619
12.5 Java身份驗證和授權
服務622
12.5.1 插入式身份驗證
模組622
12.5.2 授權634
12.6 複習題638
12.7 編程練習640
12.7.1 調試640
12.7.2 完成解決方案640
12.7.3 探索641
第13章 構建Web應用程式642
13.1 簡介642
13.2 Web技術644
13.2.1 Web伺服器和套用
程式伺服器644
13.2.2 HTTP和HTTPS
協定645
13.2.3 統一資源定位器、
標識符和名稱646
13.2.4 HTML和XHTML
文檔647
13.3 J2EE Web應用程式封裝648
13.4 servlet649
13.5 Servlet API651
13.5.1 理解servlet的
生存期653
13.5.2 編寫Servlet來接收請
求和傳送回響654
13.5.3 你的第一個
servlet661
13.5.4 運行本章示例663
13.5.5 編寫Servlet來處理
HTML窗體664
13.5.6 產生HTTP回響的
選項670
13.5.7 servlet過濾671
13.6 用戶經驗:構建連續的Web
app672
13.6.1 在HTTP會話上存儲
數據672
13.6.2 在伺服器端存儲狀態
數據的地方675
13.6.3 使用cookies提供
連續性676
13.6.4 重寫URL678
13.6.5 在HTML窗體的隱藏
域中存儲信息679
13.7 JavaServer Page679
13.8 JSP標記和API681
13.8.1 作為HTML或者XHTML
文檔的JSP683
13.8.2 作為XML文檔的
JSP684
13.9 伺服器如何處理JSP686
13.10 JSP中的Java編碼687
13.10.1 在JSP中預定義
變數687
13.10.2 JavaBean的JSP
標記688
13.10.3 JSP的自定義
標記692
13.11 構建Web應用程式的
框架693
13.12 構建健壯的Web App693
13.12.1 為多執行緒編寫
servlet694
13.12.2 明智使用
applet694
13.12.3 允許非預期的用戶
導航695
13.12.4 為雙擊的用戶做好
準備695
13.12.5 為內部地址使用
URN696
13.13 複習題696
13.14 編程練習698
13.14.1 調試698
13.14.2 完成解決方案699
13.14.3 探索700
第14章 企業級JavaBean701
14.1 簡介701
14.2 企業編程702
14.3 EJB704
14.3.1 EJB容器和服務706
14.3.2 J2EE企業級應用程式
封裝和部署707
14.3.3 J2EE定義的
角色708
14.3.4 EJB開發環境709
14.3.5 構建和運行EJB
示例709
14.4 會話EJB710
14.4.1 無狀態會話EJB710
14.4.2 狀態會話bean711
14.5 EJB客戶713
14.5.1 本地和遠程客戶713
14.5.2 編寫EJB客戶715
14.5.3 EJB客戶中的異常
處理718
14.5.4 J2EE客戶套用
程式720
14.6 實體EJB721
14.6.1 EJB到資料庫模式的
映射723
14.6.2 容器永久性
管理724
14.6.3 容器關係管理725
14.6.4 EJB查詢語言727
14.6.5 Bean永久性
管理728
14.7 訊息驅動的Bean730
14.8 EJB事務特徵733
14.8.1 EJB事務級別734
14.8.2 事務和異常736
14.8.3 本地和全局事務736
14.9 EJB安全736
14.10 設計基於EJB的應用程式
的良好習慣738
14.11 複習題739
14.12 編程練習742
附錄A 與Java和Web相關的
技術743
A.1 J2SE平台的特點743
A.1.1 Unicode743
A.1.2 Java本地接口744
A.2 J2SE平台服務 746
A.3 在Java和Web基礎上構建的
技術747
A.3.1 Web服務747
A.3.2 Apache Jakarta
項目749
A.3.3 JUnit 750
A.3.4 JUnit和Agile
編程 750
A.4 CORBA 750

相關詞條

熱門詞條

聯絡我們