标题：Java经典实例
图书信息
作　者： （美）达尔文（Darwin，F.I） 著 关丽荣，张晓坤 译 
丛 书 名：  Java经典实例出 版 社： 中国电力出版社ISBN：9787508379661出版时间：2009-02-01版　次：1页　数：784装　帧：平装开　本：16开所属分类：图书 > 法律 > 法律工具书
内容简介
《Java经典实例（第2版）》收集了Java开发人员经常遇到的成百个问题的解决方案，涵盖了Java应用的方方面面，堪称讲述Java应用的百科全书。书中的实例从正确设置CLASSPATH和读取环境信息这样的简单任务，到应用XML，或者使用JDK 1.5所带的并发性工具实现多线程编程的完整程序，几乎无所不包。
无论你是否直接使用书中的实例，作为灵感的源泉，作为学习Java的工具，或者用于其他用途，《Java经典实例（第2版）》都将成为你图书收藏中的珍品。还没有一《Java经典实例（第2版）》能够如此全面地讲述Java的诸多功能，并能够如此容易地运用到实践当中去。作为第二版，《Java经典实例（第2版）》更像是一部秘笈，指引你获取最新的第三方资源，以及提供实用的“招式”。《Java经典实例（第2版）》展现了JDK 1.5中许多新的编程语言与API特性，这些都包括在那些实例中。
作者简介
Ian F.Darwin，有三十年的计算机软件开发经验，是Learning Tree国际教育公司的讲师和课程设计师。 
·
目录
前言
第1章　起步走：编译、运行和调试Java程序
1.0　简介
1.1　编译和运行Java程序：JDK方式
1.2　采用带彩色突出显示的编辑器编辑和编译程序
1.3　采用IDE编译、执行和测试程序
1.4　有效使用CLASSPATH
1.5　使用本书的com.darwinsys API类
1.6　编译本书的源代码示例
1.7　使用Ant工具自动编译和执行Java程序
1.8　Applet
1.9　处理过期警告
1.10　没有#ifdef的条件编译
1.11　调试信息的输出
1.12　使用断言机制维护程序
1.13　使用调试器JDB
1.14　单元测试
1.15　获取可读的回溯
1.16　更多的Java源程序
1.17　例程：Debug
第2章　Java的运行环境
2.0　简介
2.1　获得环境变量
2.2　系统属性
2.3　编写JDK版本相关的代码
2.4　编写操作系统相关的代码
2.5　使用扩展包或其他API包
2.6　解析命令行参数
第3章　字符串
3.0　简介
3.1　利用substring（）分解字符串
3.2　利用StringTokenizer分解字符串
3.3　连接字符串
3.4　处理单个字符
3.5　字符串的对齐
3.6　Unicode字符与String.的转换
3.7　颠倒字符串
3.8　扩展和压缩TAB符
3.9　控制字母大小写
3.10　缩排文档
3.11　输入非打印字符
3.12　删除字符串尾部的空格
3.13　解析逗号分隔的数据
3.14　例程：一个简单的文本格式化工具
3.15　例程：Soundex算法
第4章　正则表达式的模式匹配
4.0　简介
4.1　正则表达式的语法
4.2　在Java中使用正则表达式：测试模式
4.3　查找匹配的文本
4.4　替换匹配的正文
4.5　打印匹配的所有字符串
4.6　打印含有模式的行
4.7　在正则表达式中控制大小写
4.8　匹配重音符或复合字符
4.9　匹配时的换行问题
4.10　例程：Apache日志文件解析
4.11　例程：数据挖掘
4.12　例程：完整的Grep
第5章　数字
5.0　简介
5.1　检查字符串是否包含有效数字
5.2　数据类型的由大变小
5.3　数字与对象的互相转换
5.4　使用分数
5.5　确保浮点数的准确性
5.6　浮点数的比较
5.7　浮点数的舍入
5.8　数字的格式化
5.9　二进制、八进制、十进制以及十六进制之间的转换
5.10　整数序列
5.11　罗马数字
5.12　名词的复数形式
5.13　产生随机数
5.14　产生更好的随机数
5.15　三角函数的计算
5.16　取对数
5.17　矩阵乘法
5.18　复数
5.19　处理特大的数字
5.20　例程：TempConVerter
5.21　例程：数字回文（Number Palindromes）
第6章　日期和时间
6.0　简介
6.1　查看当前日期
6.2　按照指定格式打印日期/时间
6.3　用其他历法表示日期
6.4　将YMDHMS转换为Calendar对象
6.5　将字符串转换为日期
6.6　将秒数转换为DMYHMS格式
6.7　日期的加减运算
6.8　计算日期之间的间隔
6.9　比较日期
6.10　第几日
6.11　日历页
6.12　测量流逝的时间
6.13　休眠
6.14　例程：提醒服务
第7章　结构化数据
7.0　简介
7.1　数组
7.2　调整数组的长度
7.3　ArrayList类
7.4　Iterator（迭代器）
7.5　链表
7.6　使用：Hashtable和HashMap进行映射
7.7　Properties类和Preferences类
7.8　排序
7.9　避免频繁地排序
7.10　排除重复元素
7.11　搜索对象
7.12　将集合转换为数组
7.13　自定义Iterator
7.14　堆栈
7.15　多维结构
7.16　集合小结
7.17　例程：运行效率
第8章　泛型、foreach循环和枚举的数据结构（JDK 1.5）
8.0　简介
8.1　使用泛型
8.2　使用“foreach”循环
8.3　使用泛型避免强制类型转换
8.4　使用自动装包和自动拆包进行转换
8.5　使用类型安全的枚举
8.6　例程：MediaInvoicer
第9章　面向对象的技术
9.0　简介
9.1　打印对象用toString（）方法格式化
9.2　覆盖equals方法
9.3　覆盖hashcode方法
9.4　Clone方法
9.5　Finalize方法
9.6　使用内部类
9.7　通过接口进行回调（Callback）
9.8　多态（Polymorphism）/抽象方法
9.9　传值
9.10 Singleton模式
9.11　自定义异常
9.12　例程：Plotter（绘图仪）
第10章　输入和输出
10.0　简介
10.1　从标准输入设备读取数据
10.2　向标准输出设备写数据
10.3　JDK 1.5的Formatter类
10.4　扫描文件
10.5　JDK 1.5的Scanner类
10.6　按文件名打开文件
10.7　复制文件
10.8　把文件读入字符串
10.9　重定向标准流
10.10　复制流
10.11　读/写不同字符集的文本
10.12　行结束符
10.13　平台相关的文件编码
10.14　断行再续
10.15　读写二进制数据
10.16　定位（Seeking）
10.17　处理C程序写的数据流
10.18　存储和还原串行化对象
10.19　防止ClassCastExceptions异常
10.20　读写JAR或Zip文档
10.21　读写压缩文件
10.22　例程：将文本输出为PostScript格式
第11章　目录和文件操作
11.0　简介
11.1　获取文件信息
11.2　创建文件
11.3　修改文件名
11.4　删除文件
11.5　创建临时文件
11.6　更改文件属性
11.7　列出目录内容
11.8　获取根目录
11.9　创建新目录
11.10　例程：Find
第12章　串行和并行接口编程
12.0　简介
12.1　选择一个端口
12.2　打开串行端口
12.3　打开并行端口
12.4　解决端口冲突
12.5　基于端口读写数据：异步（Lock Step）
12.6　基于端口的读写数据：事件驱动
12.7　基于端口的读写数据：线程
12.8　例程：Penman绘图仪
第13章　图形与声音
13.0　简介
13.1　绘制图形
13.2　测试图形组件
13.3　输出文本
13.4　使组件上的文本居中
13.5　阴影效果
13.6　绘制二维艺术字
13.7　文本字体
13.8　图像
13.9　播放声音文件
13.10　播放视频文件
13.11　Java的打印
13.12　例程：P10tterlAWT
13.13　例程：Grapher
第14章　图形用户界面(GUI)
14.0　简介
14.1　GUI组件
14.2　窗体布局
14.3　带Tab的布局
14.4　事件处理：让按钮工作起来
14.5　使用匿名的内部类进行事件处理
14.6　通过“关闭窗体”结束程序
14.7　对话框
14.8　GuI异常
14.9　在窗体上打印数据
14.10　使用JSpinner’选择值
14.11　使用JFileChooser选择文件
14.12　选择颜色
14.13　使用HTML格式化JComponents
14.14　将主窗体居中
14.15　修改swing程序的外观感受(Look and Feel).
14.16　改进Mac OS x的GUI
14.17　例程：定制字体
14.18　例程：定制布局管理器
第15章　国际化与本地化
15.0　简介
15.1　用118N资源创建按钮
15.2　列出有效区域
15.3　使用118N资源创建菜单
15.4　编写国际化的实用子程序
15.5　使用118N资源包创建对话框
15.6　创建资源包
15.7　从代码中提取字符串
15.8　使用指定的区域
15.9　设置默认的区域
15.10　格式化消息
15.11　例程：MenuIntl
15.12　例程：BusCard
第16章　网络客户端
16.0　简介
16.1　访问服务器
16.2　查找并报告网络地址
16.3　处理网络错误
16.4　读写文本数据
16.5　读写二进制数据
16.6　读写串行化数据
……
第17章　Java服务器端：Socket
第18章　网络客户端(Ⅱ)：Applet和Web客户端
第19章　JaVa与EmajI
第20章　数据库访问
第21章　XML
第22章　分布式Java：RMI
第23章　包和包装机制
第24章　JaVa线程
第25章　内省或“命名类的类”
第26章　JaVa与其他语言的结合
后记 
·收起全部<<
前言
JDK 1.5（代号为“猛虎”）是Java阵营的一个重大创举。它引入多个主要的新特征，例如：简化数据结构的泛型，以灵活而又定义明确的方式注释Java类的元数据，用于读取数据的基于模式的新机制，以及用于格式化打印的新机制等。此外，新版本中还包括了许多细微却很重要的改动，这些改动对Java开发者而言是必须的。虽然你很想马上弄懂这些机制，但是要完全理解和融会贯通这些机制还是需要花费一些时间的。
我在第一版的编后记中写道：“写这本书是一段不堪回首的经历。”当许多评论家和作家在大肆炫耀自己的荣誉时，我却在为自己在第一版中的错误和疏漏而感到尴尬不堪。因此，在这一版本中，我尽力做了修正。
与此同时，我增加了一些新实例，并摒弃了小部分旧实例。最大的新增部分就是第8章，主要讨论泛型和枚举，以及能为诸如Java Collection这样的容器提供更多灵活性的特征。当前，JaVa已经包含了正则表达式的API，因此，第4章就由Apache的正则表达式API过渡到JDK 1.4正则表达式。