标题：JAVA 2核心技术卷II：高级特性
基本信息
原书名： Core Java 2, Volume II--Advanced Features (7th Edition)  原出版社： Prentice Hall PTR
作者： （美）Cay S.Horstmann,Gary Cornell    
译者： 陈昊鹏 王浩 姚建平 等
丛书名： Sun公司核心技术丛书
出版社：机械工业出版社
ISBN：7111179013
上架时间：2006-3-21
出版日期：2006 年3月
开本：16开
页码：842
版次：7-1
内容简介
本书是java 2技术权威指南，全面覆盖java 2技术的高级主题，包括：多线程、集合框架、网络api、数据库编程、分布式对象等，深入探究了swing、java 2d api、javabean、java安全模式、xml、注释、元数据等主题，同时涉及本地方法、国际化以及jdk 5.0的内容。本书适合软件开发人员、高等院校学生和教师参考。.
本书包括java 2平台标准版(j2se)的高级用户界面编程和企业特性。与卷ⅰ（包括最重要的语言和类库特性）一样，本书针对j2se 5.0做了更新和修订。所有的示例程序都已进行更新，而且经过精心的构思，从而可以阐明针对职业开发者所碰到的实际问题类型的实战性解决方案。
作者简介
Cay S．Horstmann是圣何塞州立大学计算机科学系教授。他曾经是Preview Systems公司的副总裁和首席技术官，曾任许多大型公司、大学和组织的C++、Java与因特网编程顾问。.
Gary Comell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士，在IBM的Watson实验室做过访问科学家，曾任康涅狄格大学的教授。
目录
译者序 
前言 
第1章 多线程 . 1 
1.1 什么是线程 2 
1.2 中断线程 11 
1.3 线程状态 13 
1.3.1 新生线程 13 
1.3.2 可运行线程 13 
1.3.3 被阻塞线程 14 
1.3.4 死线程 15 
1.4 线程属性 15 
1.4.1 线程优先级 15 
1.4.2 守护线程 16 
1.4.3 线程组 16 
1.4.4 未捕获异常处理器 18 
1.5 同步 19 
1.5.1 竞争条件的一个例子 19 
1.5.2 详解竞争条件 22 
1.5.3 锁对象 23 
1.5.4 条件对象 25 
.1.5.5 synchronized关键字 30 
1.5.6 同步块 35 
1.5.7 volatile域 35 
1.5.8 死锁 36 
1.5.9 公平 38 
1.5.10 锁测试和超时 38 
1.5.11 读/写锁 39 
1.5.12 为什么要弃用stop和suspend方法 40 
1.6 阻塞队列 41 
1.7 线程安全的集合 46 
1.7.1 高效队列和散列表 46 
1.7.2 写数组的拷贝 47 
1.7.3 旧的线程安全的集合 47 
1.8 callable和future 48 
1.9 执行器 51 
1.9.1 线程池 51 
1.9.2 预定执行 55 
1.9.3 控制线程组 55 
1.10 同步器 56 
1.10.1 障栅 57 
1.10.2 倒计时门栓 57 
1.10.3 交换器 57 
1.10.4 同步队列 58 
1.10.5 信号量 58 
1.11 线程和swing 63 
1.11.1 “单一线程”规则 64 
1.11.2 swing工作器 68 
第2章 集合 74 
2.1 集合接口 74 
2.1.1 将集合接口和实现分离 74 
2.1.2 java类库中的集合接口和迭代器接口 76 
2.2 具体的集合 80 
2.2.1 链表 81 
2.2.2 数组列表 88 
2.2.3 散列集 88 
2.2.4 树集 90 
2.2.5 优先级队列 95 
2.2.6 映射表 96 
2.2.7 专用的集和映射表类 99 
2.3 集合框架 103 
2.3.1 视图和包装器 105 
2.3.2 批操作 110 
2.3.3 集合与数组的转换 110 
2.3.4 框架的扩展 111 
2.4 算法 113 
2.4.1 排序与混排 114 
2.4.2 二分查找 116 
2.4.3 简单算法 117 
2.4.4 编写你自己的算法 118 
2.5 遗留下来的集合 119 
2.5.1 hashtable类 119 
2.5.2 枚举 120 
2.5.3 属性集 120 
2.5.4 栈 121 
2.5.5 位集 121 
第3章 网络 125 
3.1 连接到服务器 125 
3.2 实现服务器 128 
3.3 发送e-mail 134 
3.4 建立url连接 137 
3.4.1 url和uri 137 
3.4.2 使用urlconnection获取信息 139 
3.4.3 提交表单数据 146 
3.5 高级套接字编程 153 
3.5.1 套接字超时 153 
3.5.2 可中断套接字 154 
3.5.3 半关闭 158 
3.5.4 因特网地址 158 
第4章 数据库编程 162 
4.1 jdbc的设计 162 
4.1.1 jdbc驱动程序类型 163 
4.1.2 jdbc的典型用法 164 
4.2 结构化查询语言 165 
4.3 安装jdbc 168 
4.4 jdbc编程的基本概念 169 
4.4.1 数据库url 169 
4.4.2 建立连接 169 
4.4.3 执行sql命令 173 
4.4.4 高级sql类型 175 
4.4.5 管理连接、语句和结果集 176 
4.4.6 组装数据库 177 
4.5 执行查询操作 180 
4.6 可滚动和可更新的结果集 187 
4.6.1 可滚动的结果集 188 
4.6.2 可更新的结果集 190 
4.7 元数据 193 
4.8 行集 200 
4.9 事务 208 
4.9.1 保存点 209 
4.9.2 批量更新 209 
4.10 高级连接管理 211 
4.11 ldap概述 212 
4.11.1 配置ldap服务器 213 
4.11.2 访问ldap目录信息 215 
第5章 分布式对象 225 
5.1 客户与服务器的角色 225 
5.2 远程方法调用 227 
5.2.1 存根与参数编组 227 
5.2.2 动态类加载 229 
5.3 配置远程方法调用 229 
5.3.1 接口与实现 229 
5.3.2 存根类的生成 231 
5.3.3 定位服务器对象 231 
5.3.4 客户端 235 
5.3.5 部署的准备工作 239 
5.3.6 部署程序 241 
5.4 远程方法中的参数传递 242 
5.4.1 传递非远程对象 242 
5.4.2 传递远程对象 251 
5.4.3 远程对象与equals和hashcode方法 253 
5.4.4 克隆远程对象 253 
5.5 服务器对象激活 254 
5.6 java idl与corba 258 
5.6.1 接口定义语言 259 
5.6.2 一个corba的例子 262 
5.6.3 实现corba服务器 269 
5.7 远程方法调用与soap 274 
第6章 高级swing 279 
6.1 列表 279 
6.1.1 jlist构件 279 
6.1.2 列表模式 284 
6.1.3 插入和移除值 288 
6.1.4 值的绘制 289 
6.2 树 293 
6.2.1 简单的树 294 
6.2.2 结点枚举 305 
6.2.3 绘制结点 306 
6.2.4 监听树事件 312 
6.2.5 定制树模型 316 
6.3 表格 323 
6.3.1 简单表格 323 
6.3.2 表格模型 326 
6.3.3 排序过滤器 333 
6.3.4 单元格的绘制和编辑 338 
6.3.5 对行和列的操作 349 
6.3.6 选择行、列和单元格 350 
6.4 样式文本构件 356 
6.5 进度指示器 361 
6.5.1 进度条 361 
6.5.2 进度监视器 365 
6.5.3 监视输入流的进度 369 
6.6 构件组织器 373 
6.6.1 分割面板 373 
6.6.2 选项卡面板 377 
6.6.3 桌面面板和内部框体 381 
6.6.4 级联与平铺 383 
6.6.5 否决属性设置 385 
第7章 高级awt .. 396 
7.1 绘图操作流程 396 
7.2 形状 398 
7.3 区域 409 
7.4 笔划 412 
7.5 着色 418 
7.6 坐标变换 423 
7.7 剪切 430 
7.8 透明与组合 433 
7.9 绘图提示 440 
7.10 图像的读取器和写入器 444 
7.10.1 获得图像文件类型的读取器和写入器 445 
7.10.2 读取和写入带有多个图像的文件 446 
7.11 图像处理 454 
7.11.1 访问图像数据 454 
7.11.2 图像过滤 460 
7.12 打印 467 
7.12.1 图形打印 467 
7.12.2 打印多页文件 474 
7.12.3 打印预览 475 
7.12.4 打印服务程序 483 
7.12.5 流打印服务程序 488 
7.12.6 打印属性 492 
7.13 剪贴板 498 
7.13.1 数据传递的类和接口 498 
7.13.2 传递文本 499 
7.13.3 可传递的接口和数据风格 502 
7.13.4 构建一个可传递的图像 504 
7.13.5 使用本地剪贴板来传递对象引用 509 
7.13.6 通过系统剪贴板传递java对象 514 
7.14 拖放操作 517 
7.14.1 放置目标 519 
7.14.2 拖曳源 526 
7.14.3 swing对数据传递的支持 531 
第8章 javabean构件 534 
8.1 为何是bean 534 
8.2 编写bean的过程 535 
8.3 使用bean构造应用程序 537 
8.3.1 将bean打包成jar文件 538 
8.3.2 在开发环境中组合bean 539 
8.4 bean属性与事件的命名模式 542 
8.5 bean属性的类型 544 
8.5.1 简单属性 545 
8.5.2 索引属性 545 
8.5.3 绑定属性 546 
8.5.4 约束属性 547 
8.6 beaninfo类 552 
8.7 属性编辑器 556 
8.8 定制器 573 
8.9 javabean持久化 580 
8.9.1 javabean持久化可用于任何数据 583 
8.9.2 一个javabean持久化的完整示例 588 
第9章 安全 599 
9.1 类加载器 599 
9.1.1 将类加载器作为名字空间 601 
9.1.2 编写你自己的类加载器 601 
9.2 字节码校验 605 
9.3 安全管理器与访问权限 609 
9.3.1 java2平台安全性 610 
9.3.2 安全策略文件 613 
9.3.3 定制权限 619 
9.3.4 实现权限类 619 
9.3.5 定制安全管理器 624 
9.3.6 用户认证 630 
9.3.7 jaas登录模块 634 
9.4 数字签名 641 
9.4.1 消息摘要 642 
9.4.2 消息签名 646 
9.4.3 消息认证 652 
9.4.4 x.509证书格式 654 
9.4.5 证书的生成 654 
9.4.6 证书签名 657 
9.5 代码签名 663 
9.5.1 jar文件签名 663 
9.5.2 软件开发者证书 666 
9.6 加密 667 
9.6.1 对称密码 667 
9.6.2 密码流 672 
9.6.3 公共密钥密码 673 
第10章 国际化 678 
10.1 locale 678 
10.2 数字格式 682 
10.3 日期和时间 687 
10.4 排序 692 
10.5 消息格式化 698 
10.6 文本文件和字符集 701 
10.7 资源包 702 
10.7.1 定位资源包 702 
10.7.2 属性文件 703 
10.7.3 包类 704 
10.8 一个完整的例子 705 
第11章 本地方法 717 
11.1 用java编程语言调用c函数 718 
11.2 数值参数与返回值 722 
11.3 字符串参数 723 
11.4 访问域 727 
11.4.1 访问实例域 727 
11.4.2 访问静态域 731 
11.5 编码签名 731 
11.6 调用java方法 732 
11.6.1 非静态方法 732 
11.6.2 静态方法 733 
11.6.3 构造器 734 
11.6.4 替代方法调用 734 
11.7 访问数组元素 738 
11.8 错误处理 740 
11.9 使用调用api 744 
11.10 完整的示例：访问windows注册表 747 
11.10.1 windows注册表概述 747 
11.10.2 访问注册表的java平台接口 748 
11.10.3 以本地方法方式实现注册表访问函数 748 
第12章 xml 760 
12.1 xml概述 760 
12.2 解析xml文档 764 
12.3 验证xml文档 773 
12.3.1 文档类型定义 774 
12.3.2 xml schema 779 
12.3.3 实用示例 781 
12.4 使用xpath来定位信息 792 
12.5 使用名字空间 797 
12.6 使用sax解析器 799 
12.7 生成xml文档 802 
12.8 xsl转换 809 
第13章 注释 817 
13.1 对程序添加元数据 817 
13.2 一个示例：注释事件处理器 818 
13.3 注释语法 822 
13.4 标准注释 825 
13.4.1 正规注释 826 
13.4.2 元注释 826 
13.5 用于源码级注释处理的apt工具 828 
13.6 字节码工程 ... 833