本书收入了164个完整的,来自实战的Java编程实例,每个例子都有详尽的注释。全新的第二版涵盖了Java1.3,实现了20个不同的Java API。其中包括servlet、JSP、XML、Swing和Java 2D。本书作者在畅销的《Java in a Nutshell》(《Java技术手册》)基础上,又推出了这本实例篇。你可以从中学习编程技巧,也可以直接修改书中实例为你所用。\r\n 本书是《Java in a Nutshell》、《Java Foundation Classes in a Nutshell》和《Java Enterprise in a Nutshell》的姐妹篇。本书与这几本书相得益彰,为Java编程新手和专家们提供了一整套程序实例。本书不局限于讲解Java语法或方法调用,而是通过注释详尽的代码,帮助你拓宽视野。每章结束都有几个编程练习,使你可以在Java编程上迅速登堂入室。\r\n本书包括以下内容:\r\n·演示了Java基本函数和核心API的实例,其中有I/O、线程、网络、安全性、反射以及串行化。\r\n·对于使用了图形用户接口和Java图形函数的程序,着重阐述了Swing、Java 2D、打印、数据传输、JavaBeans和applet API。\r\n·演示了关键的Java企业级API的实例,包括RMI、JDBC、servlet、JSP和XML。\r\n·实例索引,可以迅速查找编程概念或Java类,并在本书中找到阐释这个概念或使用该类的全部实例。
前言\r\n\r\n第一部分Java核心API\r\n\r\n第一章Java基础\r\n\r\nHello World\r\nFizzBuzz\r\nFibonacci序列\r\n使用命令行参数\r\n反向响应\r\nFizzBuzz条件转移\r\n计算阶乘\r\n递归计算阶乘\r\n缓存阶乘\r\n计算大的阶乘\r\n处理异常\r\n交互式输入\r\n使用StringBuffer\r\n对数字进行排序\r\n计算质数\r\n练习\r\n\r\n第二章 对象、类和接口\r\n\r\n矩形类\r\nRect类的测试\r\n一个Rect子类\r\n另一个子类\r\n复数\r\n计算伪随机数\r\n计算统计数据\r\n链表类\r\n高级排序\r\n练习\r\n\r\n第三章 输入/输出\r\n\r\n文件和流\r\n使用文件\r\n复制文件内容\r\n读和显示文本文件\r\n列出目录和文件信息\r\n压缩文件和目录\r\n过滤字符流\r\n过滤文本行\r\n一个自定义的HTML输出流\r\n练习\r\n\r\n第四章 线程\r\n\r\n线程基础\r\n线程和线程组\r\n死锁\r\n计时器\r\n练习\r\n\r\n第五章 网络\r\n\r\n下载URL的内容\r\n使用URLConnection\r\n使用URLConnection发送Email\r\n连接到服务器\r\n一个简单的Web服务器\r\n一个代理服务器\r\n运用applet联网\r\n通用客户程序\r\n通用多线程服务器\r\n多线程代理服务器\r\n发送数据报\r\n接收数据报\r\n练习\r\n\r\n第六章 安全与密码系统\r\n\r\n运行不信任的代码\r\n装载不信任的代码\r\n消息摘要和数字签名\r\n加密\r\n练习\r\n\r\n第七章 国际化\r\n\r\n关于地区的讨论\r\nUnicode\r\n字符编码\r\n处理地方习惯\r\n地方化用户可视消息\r\n格式化的消息\r\n练习\r\n\r\n第八章 反射\r\n\r\n获得类和成员的信息\r\n调用一个已命名的方法\r\n练习\r\n\r\n第九章 对象串行化\r\n\r\n简单的串行化\r\n自定义串行化\r\n可外部化的类\r\n串行化和类版本控制\r\n串行化applet\r\n练习\r\n\r\n第二部分 图形和GUI\r\n\r\n第十章 GUI\r\n\r\n组件\r\n容器\r\n布局管理\r\n事件处理\r\n一个完整的GUI\r\n动作和反射\r\n自定义对话框\r\n显示表格\r\n显示树\r\n一个简单的Web浏览器\r\n使用属性描述GUI\r\n主题和Metal感观\r\n自定义组件\r\n练习\r\n\r\n第十一章 图形\r\n\r\nJaval.2以前的图形\r\nJava 2D API\r\n绘画和填充形状\r\n变换\r\nBasicStroke的线条类型\r\n笔划线条\r\n用Paint填充形状\r\n图形保真\r\n用AlphaComposite来合成颜色\r\n图像处理\r\n自定义形状\r\n自定义笔划\r\n自定义填充\r\n高级动画\r\n显示图形例子\r\n练习\r\n\r\n第十二章 打印\r\n\r\n使用Javal.1API打印\r\n使用Javal.2API打印\r\n打印多页的文本文档\r\n打印Swing文档\r\n练习\r\n\r\n第十三章 数据传送\r\n\r\n数据传送体系结构\r\n简单的复制和粘贴\r\n可传送的数据类型\r\n剪切和粘贴涂划\r\n拖拉和放置涂划\r\n练习\r\n\r\n第十四章 JavaBeans\r\n\r\nbean的基础知识\r\n一个简单的bean\r\n一个更复杂的bean\r\n自定义事件\r\n指定bean的信息\r\n定义一个简单的属性编辑器\r\n定义一个复杂的属性编辑器\r\n定义一个bean定制器\r\n练习\r\n\r\n第十五章 applet\r\n\r\napplet简介\r\n最简单的applet\r\n时钟applet\r\napplet和Javal.0事件模型\r\nJaval.0事件细节\r\n读取applet参数\r\n图像和声音\r\nJAR文件\r\n练习\r\n\r\n第三部分 企业级Java\r\n\r\n第十六章 RMI\r\n\r\n远程银行系统\r\n一个银行服务器\r\n一个MUD\r\n远程MUD接口\r\nMUD服务器\r\nMudPlace类\r\nMudPerson类\r\n一个MUD客户\r\n高级RMI\r\n练习\r\n\r\n第十七章 用SQL访问数据库\r\n\r\n访问数据库\r\n使用数据库的元数据\r\n建立一个数据库\r\n使用API数据库\r\n原子事务\r\n练习\r\n\r\n第十八章 Servlet和JSP\r\n\r\n安装servlet\r\n“Hello World” servlet\r\nservlet初始化和持续性:一个计数器servlet\r\n用servlet访问数据库\r\n使用JSP的登录屏幕\r\n请求转发\r\nJSP页面和JavaBeans\r\n终止一个用户会话\r\n自定义标签\r\n配置Web应用程序\r\n练习\r\n\r\n第十九章 XML\r\n\r\n用JAXP和SAXl进行解析\r\n用SAX 2进行解析\r\n用JAXP和DOM进行解析和处理\r\n遍历一棵DOM树\r\n使用DOM 2级遍历一个文档\r\nJDOM API\r\n练习\r\n\r\n第二十章实例索引\r\n\r\n词汇表
本书是我写的《Java in a Nutshell》、《Java Foundation Classes in a Nutshell》和《Java Enterprise in a Nutshell》几本书的姐妹篇。这三本书不仅是Java的参考书,它们还对各个Java编程主题进行了速成的指导,并给出一小套实例程序。我编写本书的目的是补充这些书的不足,为Java编程的新手和专家提供一套完整的实例程序。
本书的写作非常有趣。第一版大概是在Java l.1发布前后完成的。(Java l.1的内容比Java 1.0增加了一倍)。当我忙于为《Java in a Nutshell》的第二版增写程序时,Sun公司的工程师们也在为进一步开发Java而忙碌。由于《Java in a Nutshell》的快速参考部分扩展太快,该书不再保留那么多的例子。当时本想收录一些有关Java 1.1新特性的例子,可是必须裁去的例子却比能够收录的要多得多,这是一个困难的选择,所以《Java in a Nutshell》中的例子只反映了Java最普通的特性。
本书是精简之后的结果,很高兴我们最终做出了这样的选择。有了编写整本书都是例子的自由,我就能随心所欲编写自己想写的例子了。于是我比以往更加投入,并发现自己真的喜欢在编写例子中探索和试验。对本书的第二版来说,我很高兴探讨和实践了Java API的一些新内容:Swing、Java 2D、servlet和XML。当你在学习这些例子的同时,我希望你能使用它们,把它们作为你自己探险旅途的出发点,这样你就能同样感受到我编写时的兴奋了。顾名思义,本书以例子作为教材,使人们能更好地掌握Java。它没有束缚你手脚的教条,也没有关于Java语句确切语法的详细叙述。本书是用来协助《Java in a Nutshell》、《Java Foundation Classes in a Nutshell》手口《Java Enterprise in a Nutshell》的,所以在你学习本书的例子时会发现这些书对你十分有用。也许你对于O'Reilly Java系列的其他书也同样感兴趣,这些书目都列在http://java.oreilly.com。本书分为三个部分。第一章到第九章覆盖了Java API非图形部分的核心内容,这些章节所讨论的API在《Java in a Nutshell》中都有说明。第十章到第十五章构成本书的第二部分,演示了Java的图形和图形用户界面的API,在《Java Foundation Classes in a Nutshell》中有其文字说明。最后,第十六章到第十九章中那些Java企业级API的例子是对《Java Enterprise in a Nutshell》的补充。
本书的章节你可以不按顺序针对自身的需求进行阅读,但是在这些章节中有一定的互相依赖性,有一些章节必须按照排列的顺序进行阅读。例如,在你读第五章前,先阅读第三章是有必要的。而第一章和第二章是针对刚开始学习Java的新手们的,有经验的Java程序员可以跳过这两章。
Java的在线实例
本书的例子你可以在网上获得,所以不需要自己输入!你可以从作者的网站http://www.davidflanagan.com/javaexamples2下载,或者从出版社的网站http://www.oreilly.com/catalog/jenut2下载。你可以在出版社的站点上查看排版和程序错误的列表。这些例子可以免费作为非商业用途,但是如果你想进行商业用途,我要求你支付一笔名义上的商业许可证费,请访问http://www.davidf1anagan.com/javaexamples2查看详细的许可证信息。