《Java开发手册》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:桂颖,谷涛编著
  • 出 版 社:北京:电子工业
  • 出版年份:2013
  • ISBN:9787121209161
  • 页数:834 页
图书介绍:本书由浅入深、全面系统地介绍Java编程和开发的方方面面。书中各章提供了大量有针对性的实例,供读者实战演练。本书针对初学和自学读者的特点,按照实际开发流程对Java语言的程序设计进行讲解,简明易懂,实用性强。书中以通俗易懂的语言介绍Java语言,力求做到深入浅出。全书共30章,分为5篇。Java基础篇介绍Java的概念、数据类型、运算符、流程控制语句以及数组等内容。

第1篇Java基础 1

第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篇 面向对象 101

第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常用技术 284

第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篇 界面编程 502

第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篇 高级技术 744

第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