书籍详情
Java高级编程(第2版)
作者:(美)斯贝尔
出版社:清华大学出版社
出版时间:2006-11-01
ISBN:9787302139096
定价:¥69.80
购买这本书可以去
内容简介
既然市面上已经有众多Java相关书籍,那么再写本书的意义何在呢?首先,Java这一概念非常宽泛,其中仍有不少领域没有详细的介绍,甚至有些领域正是Java程序员们常需要使用的。另外,大型Java程序的开发需要通晓Java的各个不同方面,本书正是要起到这样的帮助作用。本书各章都有一个共同的特点,即每章都代表专业Java开发人员需要掌握的一项技术。虽然部分章节内容是J2SE(Java 2 Standard Edition)的传统技术,但J2EE(Java 2 Enterprise Edition)和Web应用程序开发的绝大部分技术都是相通的。本书不要求读者具备大量Java知识,但同样不适合无编程基础的读者。软件开发的背景知识和面向对象编程概念的基本认识有助于阅读本书。另外,由于部分技术主题涉及的内容较广,因此本书不适合作为这些主题的权威参考。有些内容相当复杂,如XML、线程和数据库编程,难以在一章内介绍完全,不过仍将为这些主题提供相当丰富的信息,足以进行这方面程序的高效开发。另外,本书介绍的部分功能是Java 1.5(也称Java 5)中新引入的,因此早期Java版本可能无法使用这些功能。不过本书将尽量标识出Java 5新版本中的特定功能,如果早期版本中无法使用这些功能,希望您不会因此感到惊讶或失望。
作者简介
本书提供作译者介绍Brett Spell,一名受人尊敬的畅销书作家,从90年代起就开始从事专业Java开发,是一名通过Sun认证的知名开发人员和架构师。Brett还是Java开发领域中久负盛名的专业杂志Java Pro的定期撰稿人和Intel Developer Services网站的专栏作家。
目录
第1章 Java深入介绍 1
1.1 Java体系结构 1
1.2 Java虚拟机 3
1.2.1 JVM的不同实现 4
1.2.2 JVM作为运行时执行环境 4
1.2.3 JVM运行时数据区 5
1.2.4 垃圾收集器 7
1.2.5 JVM:加载、链接和初始化 7
1.2.6 执行字节码 9
1.3 Java类文件格式 11
1.4 Java编程语言与API 13
1.4.1 Java编程语言 13
1.4.2 Java API 13
1.5 JVM配套的Java实用工具 14
1.5.1 Java编译器 14
1.5.2 Java解释器 15
1.5.3 Java类反汇编程序 16
1.6 小结 16
第2章 库、类和方法的设计 19
2.1 库的设计 19
2.2 类的设计 20
2.2.1 松耦合 21
2.2.2 强聚合 35
2.2.3 封装 38
2.2.4 不变对象与不变字段 41
2.2.5 重写对象方法 42
2.3 方法设计 48
2.3.1 参数传递 49
2.3.2 方法命名 52
2.3.3 最小化代码重复 53
2.3.4 变量参数 55
2.3.5 使用异常 57
2.3.6 断言 75
2.3.7 枚举 77
2.4 小结 79
第3章 在应用程序中使用线程 81
3.1 Java线程 81
3.2 创建线程 83
3.3 使用线程的缺点 85
3.3.1 初始启动变慢 85
3.3.2 资源利用 85
3.3.3 复杂性增加 85
3.4 线程管理 87
3.5 共享资源的使用同步 91
3.5.1 同步方法和同步代码块的嵌套调用 94
3.5.2 同步代码块与同步方法 94
3.5.3 死锁 95
3.6 线程优先级 98
3.7 监控程序线程 99
3.8 在应用程序中加入线程 101
3.9 线程控制 109
3.9.1 线程启动 111
3.9.2 线程休眠 112
3.9.3 线程挂起 116
3.9.4 线程恢复 119
3.9.5 线程停止 120
3.9.6 线程中断 121
3.10 完成DownloadManager 123
3.11 线程中的过时方法 126
3.12 DownloadFiles类 127
3.13 未捕捉的异常 132
3.14 自愿放弃处理器 133
3.15 并发工具 135
3.16 小结 136
第4章 集合 137
4.1 集合演变 139
4.1.1 Java 2/Java 1.2 139
4.1.2 Java 5/Java 1.5 140
4.2 集合类与接口 140
4.2.1 Collection接口 141
4.2.2 List 145
4.2.3 ListIterator 148
4.2.4 ArrayList 149
4.2.5 LinkedList 150
4.2.6 Vector 151
4.2.7 Stack 151
4.2.8 Set 152
4.2.9 HashSet 155
4.2.10 构造函数 155
4.2.11 LinkedHashSet 155
4.2.12 TreeSet 155
4.2.13 EnumSet 159
4.2.14 Map 160
4.2.15 HashMap 162
4.2.16 LinkedHashMap 163
4.2.17 TreeMap 163
4.2.18 EnumMap 163
4.2.19 IdentityHashMap 163
4.2.20 WeakHashMap 164
4.2.21 ConcurrentHashMap 165
4.2.22 Queue 165
4.2.23 PriorityQueue 166
4.2.24 PriorityBlockingQueue 166
4.2.25 ArrayBlockingQueue 166
4.2.26 LinkedBlockingQueue 166
4.2.27 ConcurrentLinkedQueue 167
4.2.28 SynchronousQueue 167
4.2.29 DelayQueue 167
4.3 集合使用技巧 168
4.3.1 浅副本和深副本 169
4.3.2 引用接口代替引用实现 169
4.4 小结 170
第5章 布局管理器 171
5.1 布局管理器与GUI构造 171
5.2 CardLayout 173
5.2.1 构造CardLayout 173
5.2.2 子组件尺寸 174
5.2.3 子组件位置 174
5.2.4 尺寸调整 175
5.2.5 容器尺寸 175
5.3 FlowLayout 175
5.3.1 构造FlowLayout 175
5.3.2 约束 175
5.3.3 子组件尺寸 176
5.3.4 子组件位置 176
5.3.5 尺寸调整 178
5.3.6 容器尺寸 178
5.4 GridLayout 179
5.4.1 构造GridLayout 180
5.4.2 约束 182
5.4.3 子组件尺寸 182
5.4.4 子组件位置 182
5.4.5 尺寸调整 183
5.4.6 容器尺寸 183
5.5 BorderLayout 183
5.5.1 构造BorderLayout 185
5.5.2 约束 185
5.5.3 子组件尺寸 185
5.5.4 子组件位置 186
5.5.5 尺寸调整 186
5.5.6 容器尺寸 187
5.6 GridBagLayout 187
5.6.1 构造GridBagLayout 190
5.6.2 约束 190
5.6.3 子组件尺寸 210
5.6.4 子组件位置 211
5.6.5 尺寸变化 211
5.6.6 容器尺寸 212
5.7 BoxLayout 212
5.7.1 对齐值、上升和下降 212
5.7.2 构造BoxLayout 216
5.7.3 约束 216
5.7.4 子组件尺寸 216
5.7.5 子组件位置 218
5.7.6 尺寸缩放 218
5.7.7 容器尺寸 219
5.7.8 Swing中的Box类 219
5.8 布局管理器的使用准则 222
5.8.1 组合使用布局管理器 222
5.8.2 不使用布局管理器的绝对定位 224
5.8.3 不可见组件 224
5.8.4 添加组件时指定索引 225
5.9 创建自定义布局管理器 227
5.9.1 LayoutManager2接口方法 228
5.9.2 LayoutManager方法 230
5.9.3 使用自定义布局管理器 234
5.10 小结 235
第6章 使用Swing的JTable组件 237
6.1 数据模型 238
6.2 使用含有JTable组件的JScrollPane类 242
6.3 JTable组件的面向列设计 245
6.4 调整表格尺寸 245
6.5 调整列的尺寸 246
6.5.1 AUTO_RESIZE_OFF 246
6.5.2 AUTO_RESIZE_NEXT_COLUMN 246
6.5.3 AUTO_RESIZE_SUBSEQUENT_COLUMNS 247
6.5.4 AUTO_RESIZE_LAST_COLUMN 247
6.5.5 AUTO_RESIZE_ALL_COLUMNS 248
6.6 单元格绘制 248
6.6.1 创建定制的绘制器 249
6.6.2 JTable组件的默认绘制器 253
6.7 编辑表格单元格 255
6.8 表格选项设置 261
6.8.1 行、列、以及单元格选项模式的结合 262
6.8.2 列表选项模式 262
6.8.3 选项模式的结合 263
6.8.4 用编程方式设置选项 266
6.9 表格的标题 267
6.9.1 绘制标题 267
6.9.2 工具提示及绘制器的重新使用 269
6.9.3 JTableHeader 270
6.9.4 创建行标题 275
6.10 对表格按行进行排序 279
6.10.1 对列选项进行动态排序 281
6.10.2 使用比较 285
6.11 添加和删除表格行 287
6.12 显示特定的表格行 289
6.13 小结 290
第7章 使用Swing的JTree组件 291
7.1 JTree术语简介 292
7.2 创建JTree实例 293
7.2.1 TreeModel 296
7.2.2 创建树节点 297
7.3 TreePath类 309
7.4 TreeModelListener接口 311
7.4.1 treeNodesChanged()方法 311
7.4.2 treeNodesInserted()方法 311
7.4.3 treeNodesRemoved()方法 311
7.4.4 treeStructureChanged()方法 311
7.5 TreeModelEvent类 311
7.5.1 getTreePath()和getPath()方法 312
7.5.2 getChildren()方法 312
7.5.3 getChildIndices()方法 312
7.6 DefaultTreeModel类 312
7.7 绘制树节点 314
7.8 编辑树的节点 320
7.8.1 DefaultTreeCellEditor和DefaultCellEditor类 323
7.8.2 创建自定义编辑器 324
7.8.3 限制编辑某些节点 326
7.9 定制分支节点句柄 327
7.10 线型与Java或Metal 外观 328
7.11 节点选择 330
7.11.1 选择方式 330
7.11.2 TreeSelectionListener类 332
7.11.3 TreeSelectionEvent 333
7.11.4 JTree中的选择方法 333
7.12 折叠和展开节点 335
7.13 小结 338
第8章 添加剪切和粘贴功能 350
8.1 剪贴板:剪切和复制数据的存储位置 340
8.1.1 系统剪贴板 340
8.1.2 剪贴板 341
8.1.3 Transferable 341
8.1.4 ClipboardOwner实现 342
8.1.5 DataFlavor的使用 343
8.2 存取与检索串行化的Java对象 345
8.3 在Java程序和本地应用程序之间传输数据 357
8.4 编写任意的二进制数据 357
8.5 小结 362
第9章 添加拖放功能 363
9.1 拖放操作的类型 363
9.2 预定义光标 364
9.3 从本地应用程序执行文件选择释放 365
9.3.1 添加对释放操作的支持 365
9.3.2 添加对拖动操作的支持 374
9.4 执行本地传输 385
9.4.1 本地对象DataFlavor的概念 386
9.4.2 处理引用传输 387
9.5 执行链接/引用操作 389
9.6 在Java程序和本地应用程序之间传输 390
9.7 传输文本数据 392
9.7.1 在Java程序和本地应用程序之间传输文本数据 392
9.7.2 为文本数据创建一个新的Transferable 394
9.8 小结 396
第10章 打印 397
10.1 定位打印服务 398
10.1.1 DocFlavor 399
10.1.2 选择正确的打印机 401
10.1.3 AttributeSet 402
10.1.4 Attribute类 402
10.1.5 Attribute Roles 403
10.1.6 接口和实现 403
10.1.7 用户界面的打印机选择 406
10.2 创建打印任务 407
10.3 定义打印文档 407
10.4 初始化打印 408
10.5 监控打印任务 408
10.5.1 监控属性变化 409
10.5.2 取消打印任务 410
10.6 Service-Formatted打印的概念 411
10.6.1 支持类 412
10.6.2 打印应用程序示例 416
10.7 小结 422
第11章 JDBC介绍 423
11.1 SQL标准和JDBC版本 424
11.2 JDBC驱动器 425
11.3 获得数据库连接 428
11.3.1 JDBC的URL格式 428
11.3.2 连接 429
11.3.3 通过数据源获得连接(2.x选择包) 429
11.3.4 DatabaseMetaData接口 432
11.4 Statement 440
11.4.1 executeUpdata()方法 441
11.4.2 executeQuery()方法 441
11.4.3 execute()方法 441
11.4.4 addBatch()和executeBatch()方法 442
11.4.5 PreparedStatement类 442
11.4.6 CallableStatement 445
11.4.7 ParameterMetaData类 446
11.5 JDBC数据类型 447
11.5.1 ARRAY 448
11.5.2 BLOB、CLOB 449
11.5.3 DATALINK 449
11.5.4 DATE、TIME、TIMESTAMP 450
11.5.5 DISTINCT 450
11.5.6 STRUCT 450
11.5.7 REF 451
11.5.8 JAVA_OBJECT 451
11.5.9 OTHER 451
11.6 ResultSet类 451
11.6.1 单向前与滚动(滚动类型) 452
11.6.2 只读与可更新(并发模式) 452
11.6.3 更新敏感性 452
11.6.4 Holdability 453
11.6.5 选择ResultSet属性 453
11.6.6 使用ResultSet 454
11.7 ResultSetMetaData 458
11.8 RowSet 459
11.9 事务 460
11.9.1 保存点 463
11.9.2 只读事务 464
11.9.3 分布式事务 466
11.10 连接池 466
11.11 错误和警告 468
11.11.1 SQLException 468
11.11.2 SQLWarning 471
11.12 调试功能 472
11.13 释放资源 473
11.14 小结 473
第12章 应用程序国际化 475
12.1 地区 476
12.2 资源绑定 477
12.3 区分地区格式与分析 483
12.3.1 日期的格式化和分析 484
12.3.2 时间的格式化及分析 486
12.3.3 数值的格式化及分析 487
12.4 MessageFormat 489
12.4.1 指定地区 491
12.4.2 指定格式化对象 492
12.5 ChoiceFormat 493
12.6 分析文本数据 495
12.7 文本比较与排序 501
12.7.1 Collator强度 502
12.7.2 分解模式 503
12.8 应用程序国际化 504
12.9 运行时修改Locale选项 515
12.10 native2ascii 522
12.11 小结 523
第13章 XML的使用 525
13.1 XML与HTML 526
13.1.1 描述数据 527
13.1.2 形式合理的文档 528
13.2 何时及为何使用XML 531
13.3 创建XML文档 532
13.3.1 root元素 533
13.3.2 XML文档的组成部分 534
13.4 分析及有效性 535
13.4.1 使用JAXP中的DOM实现进行分析 535
13.4.2 全面研究DOM文档 550
13.4.3 编辑DOM文档 555
13.5 转换XML文档 561
13.6 小结 569
第14章 添加注解 571
14.1 注解的使用 572
14.1.1 重写 574
14.1.2 SuppressWarnings注解 575
14.2 创建定制注解 579
14.2.1 Target注解 581
14.2.2 Retention注解 582
14.2.3 Documented注解 584
14.2.4 Inherited注解 585
14.3 替换外部元数据 587
14.4 注解处理工具的使用 590
14.4.1 AnnotationProcessorFactory接口 590
14.4.2 Declaration接口 593
14.4.3 产生 Side文件 595
14.5 小结 597
1.1 Java体系结构 1
1.2 Java虚拟机 3
1.2.1 JVM的不同实现 4
1.2.2 JVM作为运行时执行环境 4
1.2.3 JVM运行时数据区 5
1.2.4 垃圾收集器 7
1.2.5 JVM:加载、链接和初始化 7
1.2.6 执行字节码 9
1.3 Java类文件格式 11
1.4 Java编程语言与API 13
1.4.1 Java编程语言 13
1.4.2 Java API 13
1.5 JVM配套的Java实用工具 14
1.5.1 Java编译器 14
1.5.2 Java解释器 15
1.5.3 Java类反汇编程序 16
1.6 小结 16
第2章 库、类和方法的设计 19
2.1 库的设计 19
2.2 类的设计 20
2.2.1 松耦合 21
2.2.2 强聚合 35
2.2.3 封装 38
2.2.4 不变对象与不变字段 41
2.2.5 重写对象方法 42
2.3 方法设计 48
2.3.1 参数传递 49
2.3.2 方法命名 52
2.3.3 最小化代码重复 53
2.3.4 变量参数 55
2.3.5 使用异常 57
2.3.6 断言 75
2.3.7 枚举 77
2.4 小结 79
第3章 在应用程序中使用线程 81
3.1 Java线程 81
3.2 创建线程 83
3.3 使用线程的缺点 85
3.3.1 初始启动变慢 85
3.3.2 资源利用 85
3.3.3 复杂性增加 85
3.4 线程管理 87
3.5 共享资源的使用同步 91
3.5.1 同步方法和同步代码块的嵌套调用 94
3.5.2 同步代码块与同步方法 94
3.5.3 死锁 95
3.6 线程优先级 98
3.7 监控程序线程 99
3.8 在应用程序中加入线程 101
3.9 线程控制 109
3.9.1 线程启动 111
3.9.2 线程休眠 112
3.9.3 线程挂起 116
3.9.4 线程恢复 119
3.9.5 线程停止 120
3.9.6 线程中断 121
3.10 完成DownloadManager 123
3.11 线程中的过时方法 126
3.12 DownloadFiles类 127
3.13 未捕捉的异常 132
3.14 自愿放弃处理器 133
3.15 并发工具 135
3.16 小结 136
第4章 集合 137
4.1 集合演变 139
4.1.1 Java 2/Java 1.2 139
4.1.2 Java 5/Java 1.5 140
4.2 集合类与接口 140
4.2.1 Collection接口 141
4.2.2 List 145
4.2.3 ListIterator 148
4.2.4 ArrayList 149
4.2.5 LinkedList 150
4.2.6 Vector 151
4.2.7 Stack 151
4.2.8 Set 152
4.2.9 HashSet 155
4.2.10 构造函数 155
4.2.11 LinkedHashSet 155
4.2.12 TreeSet 155
4.2.13 EnumSet 159
4.2.14 Map 160
4.2.15 HashMap 162
4.2.16 LinkedHashMap 163
4.2.17 TreeMap 163
4.2.18 EnumMap 163
4.2.19 IdentityHashMap 163
4.2.20 WeakHashMap 164
4.2.21 ConcurrentHashMap 165
4.2.22 Queue 165
4.2.23 PriorityQueue 166
4.2.24 PriorityBlockingQueue 166
4.2.25 ArrayBlockingQueue 166
4.2.26 LinkedBlockingQueue 166
4.2.27 ConcurrentLinkedQueue 167
4.2.28 SynchronousQueue 167
4.2.29 DelayQueue 167
4.3 集合使用技巧 168
4.3.1 浅副本和深副本 169
4.3.2 引用接口代替引用实现 169
4.4 小结 170
第5章 布局管理器 171
5.1 布局管理器与GUI构造 171
5.2 CardLayout 173
5.2.1 构造CardLayout 173
5.2.2 子组件尺寸 174
5.2.3 子组件位置 174
5.2.4 尺寸调整 175
5.2.5 容器尺寸 175
5.3 FlowLayout 175
5.3.1 构造FlowLayout 175
5.3.2 约束 175
5.3.3 子组件尺寸 176
5.3.4 子组件位置 176
5.3.5 尺寸调整 178
5.3.6 容器尺寸 178
5.4 GridLayout 179
5.4.1 构造GridLayout 180
5.4.2 约束 182
5.4.3 子组件尺寸 182
5.4.4 子组件位置 182
5.4.5 尺寸调整 183
5.4.6 容器尺寸 183
5.5 BorderLayout 183
5.5.1 构造BorderLayout 185
5.5.2 约束 185
5.5.3 子组件尺寸 185
5.5.4 子组件位置 186
5.5.5 尺寸调整 186
5.5.6 容器尺寸 187
5.6 GridBagLayout 187
5.6.1 构造GridBagLayout 190
5.6.2 约束 190
5.6.3 子组件尺寸 210
5.6.4 子组件位置 211
5.6.5 尺寸变化 211
5.6.6 容器尺寸 212
5.7 BoxLayout 212
5.7.1 对齐值、上升和下降 212
5.7.2 构造BoxLayout 216
5.7.3 约束 216
5.7.4 子组件尺寸 216
5.7.5 子组件位置 218
5.7.6 尺寸缩放 218
5.7.7 容器尺寸 219
5.7.8 Swing中的Box类 219
5.8 布局管理器的使用准则 222
5.8.1 组合使用布局管理器 222
5.8.2 不使用布局管理器的绝对定位 224
5.8.3 不可见组件 224
5.8.4 添加组件时指定索引 225
5.9 创建自定义布局管理器 227
5.9.1 LayoutManager2接口方法 228
5.9.2 LayoutManager方法 230
5.9.3 使用自定义布局管理器 234
5.10 小结 235
第6章 使用Swing的JTable组件 237
6.1 数据模型 238
6.2 使用含有JTable组件的JScrollPane类 242
6.3 JTable组件的面向列设计 245
6.4 调整表格尺寸 245
6.5 调整列的尺寸 246
6.5.1 AUTO_RESIZE_OFF 246
6.5.2 AUTO_RESIZE_NEXT_COLUMN 246
6.5.3 AUTO_RESIZE_SUBSEQUENT_COLUMNS 247
6.5.4 AUTO_RESIZE_LAST_COLUMN 247
6.5.5 AUTO_RESIZE_ALL_COLUMNS 248
6.6 单元格绘制 248
6.6.1 创建定制的绘制器 249
6.6.2 JTable组件的默认绘制器 253
6.7 编辑表格单元格 255
6.8 表格选项设置 261
6.8.1 行、列、以及单元格选项模式的结合 262
6.8.2 列表选项模式 262
6.8.3 选项模式的结合 263
6.8.4 用编程方式设置选项 266
6.9 表格的标题 267
6.9.1 绘制标题 267
6.9.2 工具提示及绘制器的重新使用 269
6.9.3 JTableHeader 270
6.9.4 创建行标题 275
6.10 对表格按行进行排序 279
6.10.1 对列选项进行动态排序 281
6.10.2 使用比较 285
6.11 添加和删除表格行 287
6.12 显示特定的表格行 289
6.13 小结 290
第7章 使用Swing的JTree组件 291
7.1 JTree术语简介 292
7.2 创建JTree实例 293
7.2.1 TreeModel 296
7.2.2 创建树节点 297
7.3 TreePath类 309
7.4 TreeModelListener接口 311
7.4.1 treeNodesChanged()方法 311
7.4.2 treeNodesInserted()方法 311
7.4.3 treeNodesRemoved()方法 311
7.4.4 treeStructureChanged()方法 311
7.5 TreeModelEvent类 311
7.5.1 getTreePath()和getPath()方法 312
7.5.2 getChildren()方法 312
7.5.3 getChildIndices()方法 312
7.6 DefaultTreeModel类 312
7.7 绘制树节点 314
7.8 编辑树的节点 320
7.8.1 DefaultTreeCellEditor和DefaultCellEditor类 323
7.8.2 创建自定义编辑器 324
7.8.3 限制编辑某些节点 326
7.9 定制分支节点句柄 327
7.10 线型与Java或Metal 外观 328
7.11 节点选择 330
7.11.1 选择方式 330
7.11.2 TreeSelectionListener类 332
7.11.3 TreeSelectionEvent 333
7.11.4 JTree中的选择方法 333
7.12 折叠和展开节点 335
7.13 小结 338
第8章 添加剪切和粘贴功能 350
8.1 剪贴板:剪切和复制数据的存储位置 340
8.1.1 系统剪贴板 340
8.1.2 剪贴板 341
8.1.3 Transferable 341
8.1.4 ClipboardOwner实现 342
8.1.5 DataFlavor的使用 343
8.2 存取与检索串行化的Java对象 345
8.3 在Java程序和本地应用程序之间传输数据 357
8.4 编写任意的二进制数据 357
8.5 小结 362
第9章 添加拖放功能 363
9.1 拖放操作的类型 363
9.2 预定义光标 364
9.3 从本地应用程序执行文件选择释放 365
9.3.1 添加对释放操作的支持 365
9.3.2 添加对拖动操作的支持 374
9.4 执行本地传输 385
9.4.1 本地对象DataFlavor的概念 386
9.4.2 处理引用传输 387
9.5 执行链接/引用操作 389
9.6 在Java程序和本地应用程序之间传输 390
9.7 传输文本数据 392
9.7.1 在Java程序和本地应用程序之间传输文本数据 392
9.7.2 为文本数据创建一个新的Transferable 394
9.8 小结 396
第10章 打印 397
10.1 定位打印服务 398
10.1.1 DocFlavor 399
10.1.2 选择正确的打印机 401
10.1.3 AttributeSet 402
10.1.4 Attribute类 402
10.1.5 Attribute Roles 403
10.1.6 接口和实现 403
10.1.7 用户界面的打印机选择 406
10.2 创建打印任务 407
10.3 定义打印文档 407
10.4 初始化打印 408
10.5 监控打印任务 408
10.5.1 监控属性变化 409
10.5.2 取消打印任务 410
10.6 Service-Formatted打印的概念 411
10.6.1 支持类 412
10.6.2 打印应用程序示例 416
10.7 小结 422
第11章 JDBC介绍 423
11.1 SQL标准和JDBC版本 424
11.2 JDBC驱动器 425
11.3 获得数据库连接 428
11.3.1 JDBC的URL格式 428
11.3.2 连接 429
11.3.3 通过数据源获得连接(2.x选择包) 429
11.3.4 DatabaseMetaData接口 432
11.4 Statement 440
11.4.1 executeUpdata()方法 441
11.4.2 executeQuery()方法 441
11.4.3 execute()方法 441
11.4.4 addBatch()和executeBatch()方法 442
11.4.5 PreparedStatement类 442
11.4.6 CallableStatement 445
11.4.7 ParameterMetaData类 446
11.5 JDBC数据类型 447
11.5.1 ARRAY 448
11.5.2 BLOB、CLOB 449
11.5.3 DATALINK 449
11.5.4 DATE、TIME、TIMESTAMP 450
11.5.5 DISTINCT 450
11.5.6 STRUCT 450
11.5.7 REF 451
11.5.8 JAVA_OBJECT 451
11.5.9 OTHER 451
11.6 ResultSet类 451
11.6.1 单向前与滚动(滚动类型) 452
11.6.2 只读与可更新(并发模式) 452
11.6.3 更新敏感性 452
11.6.4 Holdability 453
11.6.5 选择ResultSet属性 453
11.6.6 使用ResultSet 454
11.7 ResultSetMetaData 458
11.8 RowSet 459
11.9 事务 460
11.9.1 保存点 463
11.9.2 只读事务 464
11.9.3 分布式事务 466
11.10 连接池 466
11.11 错误和警告 468
11.11.1 SQLException 468
11.11.2 SQLWarning 471
11.12 调试功能 472
11.13 释放资源 473
11.14 小结 473
第12章 应用程序国际化 475
12.1 地区 476
12.2 资源绑定 477
12.3 区分地区格式与分析 483
12.3.1 日期的格式化和分析 484
12.3.2 时间的格式化及分析 486
12.3.3 数值的格式化及分析 487
12.4 MessageFormat 489
12.4.1 指定地区 491
12.4.2 指定格式化对象 492
12.5 ChoiceFormat 493
12.6 分析文本数据 495
12.7 文本比较与排序 501
12.7.1 Collator强度 502
12.7.2 分解模式 503
12.8 应用程序国际化 504
12.9 运行时修改Locale选项 515
12.10 native2ascii 522
12.11 小结 523
第13章 XML的使用 525
13.1 XML与HTML 526
13.1.1 描述数据 527
13.1.2 形式合理的文档 528
13.2 何时及为何使用XML 531
13.3 创建XML文档 532
13.3.1 root元素 533
13.3.2 XML文档的组成部分 534
13.4 分析及有效性 535
13.4.1 使用JAXP中的DOM实现进行分析 535
13.4.2 全面研究DOM文档 550
13.4.3 编辑DOM文档 555
13.5 转换XML文档 561
13.6 小结 569
第14章 添加注解 571
14.1 注解的使用 572
14.1.1 重写 574
14.1.2 SuppressWarnings注解 575
14.2 创建定制注解 579
14.2.1 Target注解 581
14.2.2 Retention注解 582
14.2.3 Documented注解 584
14.2.4 Inherited注解 585
14.3 替换外部元数据 587
14.4 注解处理工具的使用 590
14.4.1 AnnotationProcessorFactory接口 590
14.4.2 Declaration接口 593
14.4.3 产生 Side文件 595
14.5 小结 597
猜您喜欢