第1篇 Java基礎
第1章 初步認識Java 1
1.1 Java的概念 1
1.1.1 Java是什麼 1
1.1.2 Java平颱 1
1.1.3 Java的操作係統 2
1.1.4 Java的優點 2
1.2 Java的曆史 3
1.2.1 Java的由來 3
1.2.2 Java的發展 4
1.3 如何配置Java開發環境 4
1.3.1 開發工具包 4
1.3.2 運行環境 4
1.3.3 JDK的安裝和下載 5
1.3.4 環境變量的設置 6
1.3.5 環境變量的測試 7
1.4 第一個應用程序——HelloWorld 7
1.4.1 HelloWorld程序 7
1.4.2 編譯與運行 8
1.4.3 編譯和運行命令 9
1.5 小結 12
第2章 基本數據類型 13
2.1 數據類型 13
2.1.1 整型 13
2.1.2 浮點型 16
2.1.3 字符型 19
2.1.4 布爾型 20
2.2 常量 21
2.2.1 標識符 21
2.2.2 常量 22
2.3 變量 24
2.3.1 聲明變量及初始化 24
2.3.2 變量的作用域 26
2.3.3 數據類型的自動轉換 28
2.4 基本數據類型之間的轉換 29
2.4.1 自動轉換類型 29
2.4.2 強製轉換類型 31
2.5 基本數據類型的對象包裝類 34
2.6 注釋 35
2.6.1 單行注釋 36
2.6.2 區域注釋 36
2.6.3 文檔注釋 36
2.7 小結 38
第3章 運算符詳解 39
3.1 算術運算符 39
3.1.1 加法運算符 39
3.1.2 減法運算符 42
3.1.3 乘法運算符 43
3.1.4 除法運算符 43
3.1.5 取餘運算符 44
3.1.6 自增、自減運算 44
3.2 關係與邏輯運算 46
3.2.1 等於/不等於運算 46
3.2.2 比較大小運算 47
3.2.3 “與”運算 48
3.2.4 “或”運算 49
3.2.5 “非”運算 50
3.3 三元運算符 50
3.4 位運算 51
3.5 移位運算 53
3.5.1 “<<”左移運算 53
3.5.2 “>>”右移運算 53
3.5.3 “>>>”無符號右移運算 54
3.5.4 具體實例 55
3.6 賦值運算 55
3.6.1 普通賦值運算 56
3.6.2 運算賦值運算 56
3.6.3 括號及運算符間的優先級關係 57
3.7 java.lang.Math類 57
3.7.1 數學常量 57
3.7.2 常用數學函數方法 58
3.8 小結 60
第4章 流程控製語句 61
4.1 if語句 61
4.1.1 常用語句形式 61
4.1.2 完整語句形式 62
4.2 if語句的嵌套 63
4.3 switch語句 65
4.3.1 switch判斷語法 65
4.3.2 判斷錶達式 67
4.3.3 case錶達式 68
4.4 switch實例 69
4.5 while循環語句 71
4.6 do-while循環語句 73
4.7 for循環語句 74
4.7.1 for循環語法 74
4.7.2 for循環實例 76
4.7.3 for實現其他循環 77
4.8 break語句 78
4.9 continue語句 79
4.10 小結 81
第5章 不可或缺的數組 82
5.1 數組的概念 82
5.2 一維數組 83
5.2.1 數組的聲明 83
5.2.2 創建數組及初始化 83
5.2.3 數組的結構 84
5.2.4 數組長度及越界 84
5.2.5 數組程序實例 85
5.3 多維數組 86
5.3.1 多維數組的聲明 86
5.3.2 創建多維數組 86
5.3.3 多維數組結構及初始化 87
5.4 訪問多維數組 88
5.5 數組的相關用法 90
5.5.1 復製數組 90
5.5.2 數組修飾符 92
5.5.3 搜索數組 93
5.5.4 排序數組 95
5.5.5 Arrays類的sort方法 98
5.5.6 數組的比較 99
5.6 小結 100
第2篇 麵嚮對象
第6章 對象和類的“二人轉” 101
6.1 什麼是麵嚮對象 101
6.1.1 麵嚮對象的由來 101
6.1.2 麵嚮過程與麵嚮對象思想的碰撞 102
6.1.3 麵嚮對象的背景及特點 104
6.2 類與對象 104
6.2.1 成員變量 105
6.2.2 成員變量的默認值 107
6.2.3 對象引用變量 108
6.3 類的方法 110
6.4 方法和變量引用 111
6.4.1 調用不存在的方法或成員變量 111
6.4.2 用空引用進行調用 112
6.4.3 數組的空引用問題 113
6.5 局部變量 113
6.5.1 局部變量的作用域 113
6.5.2 局部變量的初始化 114
6.6 變長參數 117
6.7 this對象引用 118
6.8 係統常用類 120
6.8.1 Date類 120
6.8.2 GregorianCalendar類 122
6.8.3 常用係統已有類 124
6.9 小結 125
第7章 Java中的訪問控製符 126
7.1 類的訪問控製 126
7.1.1 public級彆 126
7.1.2 默認訪問級彆 128
7.2 成員的訪問控製 130
7.2.1 公共訪問 131
7.2.2 保護訪問 132
7.2.3 默認訪問 133
7.2.4 私有訪問 134
7.2.5 訪問級彆與數據封裝 136
7.3 static關鍵字 137
7.3.1 靜態成員變量 138
7.3.2 靜態最終成員變量 139
7.3.3 static方法 140
7.3.4 static代碼塊 140
7.4 final的變量 141
7.4.1 final成員變量 141
7.4.2 final局部變量 144
7.5 package的使用 146
7.5.1 package的聲明與創建 146
7.5.2 引入package資源 147
7.5.3 靜態引入package 150
7.6 小結 152
第8章 父與子的繼承 153
8.1 什麼是繼承 153
8.1.1 類和類的關係 153
8.1.2 繼承性 156
8.1.3 類的繼承 156
8.2 繼承與隱藏 157
8.2.1 成員變量的繼承 157
8.2.2 成員變量的隱藏 160
8.3 對象 162
8.3.1 對象引用類型 162
8.3.2 強製類型轉換 162
8.3.3 對象調用成員 164
8.3.4 對象賦值和比較 165
8.4 方法的繼承 167
8.5 方法的重寫 168
8.5.1 重寫的條件 170
8.5.2 返迴類型的規則 171
8.5.3 訪問級彆 173
8.6 重寫與繼承的關係 174
8.6.1 靜態方法沒有重寫 175
8.6.2 重寫擴展父類功能 177
8.6.3 替代性 178
8.7 方法的重載 178
8.7.1 重載的規則 178
8.7.2 重載方法的匹配 179
8.7.3 重寫與重載 183
8.8 final與繼承 183
8.8.1 最終的類 183
8.8.2 最終的方法 184
8.9 abstract與繼承 185
8.9.1 抽象類 185
8.9.2 抽象方法 186
8.10 繼承的多態 189
8.11 小結 191
第9章 接口的世界 192
9.1 接口的概述 192
9.2 接口中的成員變量 193
9.3 接口中的方法 195
9.4 接口引用的使用 198
9.4.1 可以指嚮的對象類型 198
9.4.2 接口引用間的賦值 198
9.4.3 類引用與接口引用間的賦值 200
9.4.4 接口中方法無法使用的修飾符 201
9.5 接口與抽象類 203
9.6 接口的多態 205
9.7 接口迴調 207
9.8 instanceof的使用 208
9.8.1 基本語法使用 208
9.8.2 不允許進行測試的情況 211
9.9 小結 212
第10章 構造器應用 213
10.1 構造器的概念 213
10.2 訪問限製修飾符與構造器 213
10.2.1 公有類型構造器 213
10.2.2 默認與保護類型構造器 214
10.2.3 私有類型構造器以及靜態工廠方法 215
10.3 構造器與返迴類型 216
10.4 創建對象 218
10.5 重載構造器 219
10.6 級聯調用的構造器 220
10.6.1 如何調用構造器 220
10.6.2 級聯調用 221
10.6.3 默認構造器 223
10.7 自定義構造器 224
10.8 構造器不能繼承 225
10.9 調用兄弟構造器 226
10.9.1 調用語法 226
10.9.2 注意事項 227
10.10 單列模式 229
10.11 程序的加載 230
10.12 小結 232
第11章 迷惑的封裝類 233
11.1 封裝類是什麼 233
11.2 字符串與基本數據類型值的轉換 235
11.3 封裝類與基本數據類型的轉換 238
11.4 字符串與封裝類的轉換 239
11.5 其他常用方法 239
11.5.1 靜態工廠方法 239
11.5.2 isNaN()方法 241
11.5.3 equals()方法 242
11.5.4 toString()方法 244
11.5.5 進製轉換方法 244
11.6 自動打包/解包 245
11.7 特殊數值計算 247
11.7.1 計算特大整數 248
11.7.2 精確計算浮點型 250
11.8 小結 251
第12章 如何處理異常 252
12.1 異常處理 252
12.1.1 捕獲異常的try和catch 252
12.1.2 finally語句 256
12.1.3 try、catch和finally語句 259
12.2 捕獲異常 261
12.3 未捕獲異常 263
12.4 再次拋齣異常 264
12.4.1 異常的再拋齣 264
12.4.2 顯性再拋齣 265
12.4.3 隱性再拋齣 268
12.5 方法重寫對拋齣異常的限製 269
12.6 自定義異常 271
12.6.1 自己創建異常類 271
12.6.2 使用自定義異常 273
12.6.3 顯性再拋齣異常的作用 274
12.7 異常的匹配 277
12.8 斷言 279
12.8.1 為什麼要引入斷言 279
12.8.2 斷言的語法規則 280
12.8.3 斷言與編譯 280
12.8.4 啓動斷言執行代碼 281
12.8.5 防止濫用斷言 282
12.9 小結 283
第3篇 Java常用技術
第13章 字符串應用 284
13.1 String類 284
13.2 String對象的內存機製 289
13.3 String內存機製的優勢 290
13.4 String對象特殊機製的劣勢 294
13.5 StringBuffer類 295
13.5.1 StringBuffer類的優勢 295
13.5.2 編寫方法鏈 297
13.5.3 StringBuffer類的重要方法 298
13.6 StringBuilder類 300
13.7 正則錶達式 301
13.7.1 正則錶達式的語法 302
13.7.2 Pattern與Matcher類的綜閤實例 304
13.8 在String類中使用正則錶達式 308
13.8.1 匹配檢查 308
13.8.2 查找替換 310
13.8.3 對字符串進行分析 311
13.9 小結 312
第14章 集閤的使用 313
14.1 集閤框架的結構 313
14.2 Object類 314
14.2.1 toString方法的重寫 314
14.2.2 equals方法 315
14.2.3 hashCode方法 317
14.3 equals與hashCode方法的重寫 318
14.4 Ordered與Sorted的接口 322
14.5 列錶 323
14.5.1 List接口 323
14.5.2 數組實現列錶 324
14.6 嚮量 326
14.7 鏈接實現列錶 327
14.7.1 依賴性倒置原理 328
14.7.2 將數組轉換為列錶 329
14.8 集閤 330
14.8.1 Set接口 330
14.8.2 HashSet類 331
14.8.3 equals與hashCode方法重寫的作用 332
14.8.4 LinkedHashSet類的使用 335
14.9 SortedSet接口與TreeSet類 336
14.10 自定義Sorted集閤的類 338
14.10.1 定製SortedSet的排序規則 340
14.10.2 集閤的遍曆 343
14.10.3 使用for-each循環遍曆集閤 345
14.11 映射 346
14.11.1 Map接口 346
14.11.2 HashMap類 347
14.11.3 Hashtable類 348
14.11.4 LinkedHashMap類 349
14.12 SortedMap接口與TreeMap類 351
14.13 映射的遍曆實例 353
14.14 棧的實現 355
14.14.1 Stack類 355
14.14.2 Deque接口 356
14.14.3 棧計算數學錶達式 358
14.15 集閤元素的常用操作 361
14.16 小結 368
第15章 內部類應用 369
15.1 非靜態內部類 369
15.2 在外部類中創建內部類 369
15.3 在外部類外創建內部類 371
15.4 內部類與外部類之間的成員互訪 373
15.4.1 在內部類中訪問外部類的成員 373
15.4.2 在外部類中訪問內部類的成員 374
15.5 預定義對象引用this 375
15.6 局部內部類 376
15.6.1 定義局部內部類及創建 376
15.6.2 局部變量與局部內部類 377
15.6.3 靜態方法中的局部內部類 380
15.7 靜態內部類 381
15.8 靜態/非靜態內部類的區彆 383
15.9 匿名內部類 383
15.10 內部類的理解 389
15.11 內部接口 390
15.12 小結 393
第16章 多綫程的功力 394
16.1 綫程的概念 394
16.2 自定義綫程 395
16.2.1 繼承Thread類 395
16.2.2 實現Runnable接口 395
16.2.3 兩種方式的比較 396
16.3 創建綫程對象 396
16.3.1 繼承Thread類方式 396
16.3.2 實現Runnable接口方式 397
16.4 啓動綫程 398
16.5 同時使用多個綫程 400
16.6 綫程的狀態 401
16.7 綫程的使用 403
16.7.1 睡眠使用 403
16.7.2 綫程的優先級 405
16.7.3 綫程的讓步 407
16.7.4 守護綫程 410
16.8 同步綫程 411
16.8.1 使用同步 412
16.8.2 同步調度方法 415
16.9 “生産者—消費者”案例 415
16.10 notify方法 420
16.11 同步語句塊 421
16.12 綫程的死鎖 424
16.13 注意事項 426
16.14 獲取運行綫程 427
16.15 volatile關鍵字 428
16.16 小結 429
第17章 高級綫程 430
17.1 綫程池 430
17.2 固定尺寸綫程池 430
17.2.1 自定義尺寸固定綫程池實例 431
17.2.2 單任務綫程池實例 433
17.2.3 可變尺寸綫程池實例 434
17.2.4 延遲綫程池的實例 436
17.3 使用自定義綫程池 437
17.4 有返迴值的綫程調用 440
17.4.1 Callable接口 440
17.4.2 Future接口 440
17.4.3 Callable與Future接口的使用實例 441
17.5 封鎖資源 442
17.5.1 Lock接口與ReentrantLock類 443
17.5.2 ReentrantLock鎖使用實例 443
17.5.3 ReadWriteLock接口與ReentrantReadWriteLock類 446
17.5.4 ReentrantReadWriteLock讀/寫鎖使用實例 447
17.6 信號量 450
17.6.1 Semaphore類 450
17.6.2 Semaphore類使用實例 451
17.7 隊列 453
17.8 阻塞棧 459
17.8.1 BlockingDeque接口與LinkedBlockingDeque類 459
17.8.2 LinkedBlockingDeque類的使用實例 460
17.9 綫程安全的單變量操作 461
17.9.1 atomic包 461
17.9.2 atomic包中類的使用實例 462
17.10 障礙器 463
17.10.1 CyclicBarrier類 464
17.10.2 CyclicBarrier類的使用實例 464
17.11 小結 466
第18章 內存管理技術 467
18.1 程序中的“垃圾”是什麼 467
18.2 “垃圾”收集器 470
18.3 如何收集“垃圾” 472
18.3.1 finalize重寫 472
18.3.2 finalize安全問題 474
18.4 最終守護者實例 476
18.5 非綫程“垃圾” 477
18.6 綫程“垃圾” 479
18.7 三種特殊的引用 481
18.7.1 弱引用實例 481
18.7.2 軟引用實例 483
18.7.3 幻影引用實例 485
18.8 小結 485
第19章 數據結構和算法 486
19.1 棧和隊列 486
19.1.1 棧的應用 486
19.1.2 隊列的應用 489
19.2 三種排序 492
19.2.1 冒泡排序 492
19.2.2 選擇排序 495
19.2.3 插入排序 498
19.3 小結 501
第4篇 界麵編程
第20章 Swing編程 502
20.1 Swing是什麼 502
20.2 第一個Swing小程序 502
20.3 JFrame類 504
20.4 事件處理 508
20.4.1 事件處理模型 509
20.4.2 事件層次結構 510
20.5 窗體事件 511
20.6 事件適配器 514
20.7 容器 516
20.8 JPanel類 517
20.9 JLabel類 518
20.10 JButton類 521
20.11 監聽器與事件源對應關係的研究 524
20.12 小結 527
第21章 布局流行設計 528
21.1 布局管理器概述 528
21.2 常用布局管理器 528
21.3 FlowLayout流布局的使用 529
21.3.1 流布局簡介 529
20.3.2 流布局使用實例 531
21.4 GridLayout網格布局 532
21.4.1 網格布局簡介 532
21.4.2 網格布局使用實例 533
21.5 BorderLayout邊框布局 535
21.5.1 邊框布局簡介 536
21.5.2 邊框布局使用實例 537
21.6 空布局 539
21.6.1 空布局簡介 539
21.6.2 空布局使用實例 540
21.7 CardLayout卡片布局 541
21.7.1 卡片布局簡介 541
21.7.2 卡片布局使用實例 543
21.8 BoxLayout箱式布局 545
21.8.1 箱式布局簡介 545
21.8.2 Box容器簡介 547
21.8.3 Box容器與BoxLayout布局管理器使用實例 548
21.9 彈簧布局 551
21.9.1 彈簧布局簡介 551
21.9.2 控件與容器邊框之間使用支架 551
21.9.3 控件與容器邊框之間使用彈簧 552
21.10 SpringLayout類 554
21.11 SpringLayout.Constraints內部類 555
21.12 Spring類 556
21.13 彈簧布局使用實例 557
21.14 彈簧布局描述法使用實例 558
21.15 小結 561
第22章 各種Swing控件 562
22.1 控件類 562
22.2 文本框與密碼框的使用實例 565
22.3 文本區使用實例 569
22.4 開關按鈕使用實例 574
22.5 單選按鈕與復選框 577
22.5.1 JRadioButton類 577
22.5.2 ButtonGroup類 578
22.5.3 JCheckBox類 578
22.6 ItemEvent事件 579
22.7 ItemEvent事件實例 579
22.8 單選按鈕與復選框的
綜閤實例 582
22.9 小結 585
第23章 菜單、工具欄和對話框的使用 586
23.1 菜單 586
23.2 JMenuBar類 587
23.2.1 使用窗體提供的setJMenuBar方法 588
23.2.2 使用傳統的add()方法 588
23.3 JMenuItem類 589
23.3.1 為菜單項添加助記符 590
23.3.2 為菜單項設置快捷鍵 590
23.4 JMenu類 591
23.5 JRadioButtonMenuItem類 593
23.6 JCheckBoxMenuItem類 593
23.7 菜單使用實例 594
23.8 彈齣式菜單實例 597
23.9 鼠標事件使用實例 598
23.10 工具欄的開發使用實例 602
23.11 對話框使用實例 606
23.11.1 JDialog類簡介 606
23.11.2 JOptionPane類簡介 607
23.11.3 JOptionPane對話框使用實例 609
23.12 文件選擇器 611
23.13 顔色選擇器 614
23.14 文件、顔色對話框使用實例 615
23.15 小結 617
第24章 經典的樹狀列錶 618
24.1 樹的專有名詞 618
24.2 JTree類 619
24.3 樹模型 623
24.4 樹的節點 625
24.5 樹的路徑 628
24.6 樹的相關事件 629
24.6.1 TreeSelectionEvent事件 629
24.6.2 TreeExpansionEvent事件 630
24.6.3 TreeModelEvent事件 631
24.7 樹節點的繪製 632
24.7.1 TreeCellRenderer接口 632
24.7.2 DefaultTreeCellRenderer類 632
24.7.3 自定義繪製器實例 633
24.8 樹狀列錶的綜閤實例 635
24.8.1 實例概述 635
24.8.2 搭建界麵 636
24.8.3 信息提示功能 638
24.8.4 節點增刪功能 640
24.8.5 圖標更改功能 643
24.9 小結 646
第25章 錶格製造 647
25.1 錶格簡介 647
25.2 JTable類 648
25.2.1 使用JTable的簡單實例 650
25.2.2 錶格的數據模型 652
25.2.3 錶格模型的使用實例 655
25.3 錶格列 657
25.3.1 TableColumnModel接口 658
25.3.2 DefaultTableColumnModel類 659
25.4 錶格的相關事件 661
25.4.1 TableColumnModelEvent事件 661
25.4.2 TableModelEvent事件 662
25.4.3 ListSelectionEvent事件簡介 662
25.4.4 錶格事件使用實例 663
25.5 錶格繪製器 665
25.5.1 TableCellRenderer接口 666
25.5.2 DefaultTableCellRenderer類簡介 666
25.5.3 自定義錶格繪製器 667
25.6 錶格編輯器 668
25.6.1 TableCellEditor接口 668
25.6.2 AbstractCellEditor類 668
25.6.3 DefaultCellEditor類 669
25.6.4 為特定的類型指定編輯器 669
25.7 自定義錶格編輯器與繪製器的使用實例 670
25.7.1 實例概述 670
25.7.2 界麵框架的搭建 670
25.7.3 自定義錶格以及錶格控件的添加 671
25.7.4 自定義繪製器 673
25.7.5 自定義編輯器的添加 674
25.8 錶格中的排序 677
25.8.1 RowSorter類 678
25.8.2 DefaultRowSorter類 678
25.8.3 TableRowSorter類簡介 679
25.9 錶格中的過濾 680
25.10 錶格排序與過濾的使用實例 682
25.10.1 實例概述 682
25.10.2 搭建界麵框架 683
25.10.3 添加錶格 684
25.10.4 添加排序器 685
25.10.5 添加設置過濾條件的控件 686
25.10.6 錶格設置過濾器 688
25.11 小結 691
第26章 圖形繪製與動畫 692
26.1 繪製簡單圖形 692
26.1.1 可以充當畫布的控件 692
26.1.2 繪圖的paint方法 692
26.2 畫筆 693
26.2.1 Graphics對象的獲取 694
26.2.2 坐標係統 694
26.3 調配顔色 696
26.4 圖形繪製的使用實例 697
26.5 繪製文本 698
26.5.1 drawString方法 698
26.5.2 控製字體 698
26.5.3 文本繪製使用實例 700
26.6 Java 2D 701
26.7 綫條的粗細控製 702
26.8 漸變顔色 704
26.9 圖形變換 706
26.10 異或模式繪圖 708
26.11 抗鋸齒 709
26.12 動畫 710
26.12.1 編寫動畫的原理 710
26.12.2 重新繪製 710
26.13 Timer類 711
26.14 簡單動畫使用實例 712
26.15 小結 714
第27章 處理圖像 715
27.1 加載與繪製 715
27.2 圖標 718
27.2.1 Icon接口 719
27.2.2 ImageIcon類 721
27.3 處理圖像編碼 723
27.3.1 JPEG編碼器 723
27.3.2 GifEncoder編碼器 724
27.4 圖像抓取 726
27.4.1 createScreenCapture方法 726
27.4.2 抓屏功能使用實例 726
27.5 圖像濾鏡的開發 730
27.6 圖像灰度處理使用實例 731
27.7 RGB色彩通道過濾 734
27.8 RGB色彩通道過濾使用實例 735
27.9 捲積濾鏡 738
27.10 捲積濾鏡使用實例 740
27.11 小結 743
第5篇 高級技術
第28章 網絡編程的世界 744
28.1 網絡編程簡介 744
28.2 網絡傳輸協議 745
28.3 Internet地址(InetAddress類) 746
28.3.1 創建InetAddress對象的方法 746
28.3.2 InetAddress的其他方法 746
28.4 Socket(套接字) 747
28.5 Socket使用實例 748
28.5.1 客戶端 748
28.5.2 服務器端 749
28.5.3 程序運行結果 751
28.6 UDP協議網絡通信(Datagram) 752
28.7 麵嚮無連接的使用實例 752
28.7.1 發送端程序示例 752
28.7.2 接收端程序示例 754
28.7.3 程序運行結果 755
28.8 URL的網絡編程 756
28.8.1 URL類與URL的解析 756
28.8.2 URLConnection類 757
28.8.3 獲取遠程圖像 758
28.8.4 獲取遠程文檔 759
28.8.5 獲取遠程音頻 761
28.9 小結 762
第29章 你來我往的I/O流 763
29.1 流的簡介 763
29.2 文件File 764
29.2.1 文件或目錄的生成 764
29.2.2 文件名的處理 764
29.2.3 文件屬性測試 765
29.2.4 普通文件信息和工具 765
29.2.5 目錄操作 765
29.3 File類使用實例 765
29.4 RandomAccessFile類 767
29.4.1 構造方法 767
29.4.2 文件指針的操作 767
29.5 RandomAccessFile使用實例 767
29.6 字節流InputStream、OutputStream 770
29.6.1 輸入、輸齣流 770
29.6.2 文件輸入、輸齣流 772
29.6.3 緩衝輸入、輸齣流 773
29.6.4 數據輸入、輸齣流 775
29.6.5 對象輸入、輸齣流 776
29.7 字符流Reader、Writer 780
29.7.1 字符讀、寫流 780
29.7.2 輸入、輸齣流 781
29.7.3 文件讀、寫字符流 782
29.7.4 字符緩衝區讀、寫流 783
29.8 小結 784
第30章 JDBC數據庫應用技術 785
30.1 數據庫應用架構模型 785
30.1.1 兩層結構模型 785
30.1.2 三層結構模型 786
30.2 JDBC的層次結構 787
30.3 JDBC編程入門 788
30.3.1 數據庫的創建 788
30.3.2 JDBC-ODBC連接橋 789
30.3.3 加載JDBC驅動 792
30.4 建立數據庫連接 793
30.5 SQL命令 794
30.6 結果集 795
30.7 連接數據庫使用實例 796
30.8 預編譯 797
30.9 訪問其他數據庫 800
30.9.1 MySQL數據庫的訪問 800
30.9.2 Oracle數據庫的訪問 802
30.10 事務 804
30.10.1 編寫事務 804
30.10.2 批處理 807
30.11 可滾動結果集 809
30.12 可滾動與不可滾動結果集的比較 810
30.13 控製遊標移動 810
30.14 元數據 813
30.15 數據庫綜閤實例 817
30.16 小結 834
· · · · · · (
收起)