Wicked Cool Java中文版:代码、开源类库与项目创意
分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: (美)尤班克斯著,王海涛,宋丽华译
出 版 社: 清华大学出版社
出版时间: 2007-11-1字数: 289000版次: 1页数: 233印刷时间: 2007/11/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302162599包装: 平装编辑推荐
“一旦你沉迷于此书,就会迫不及待地想把其中的一些观念应用于自己的项目中,或者会以新的方式考虑其他的项目并参与其中。第8章为你提供了一些现有的项目,并给出了一些新的项目理念。无论你是正在为公司编写代码,还是准备从事编程,都会对这一章的内容感兴趣。”
——Gary Pollice伍斯特工学院教授,Rational Suite初始团队成员之一
“不到300页的一本薄书,却涵盖了典型的代码示例与讲解。促使我一刻不停地读下去,读完整本书后,我还觉得意犹未尽。尤其最后一章的内容,提供了引人入胜的项目新创意,希望通过它,能使更多充满激情的读者加入到开源项目的编程队伍中来。”
——Alan Berg阿姆斯特丹大学中心计算机所主要开发员
内容简介
本书为那些想要不断挑战自己的读者引入了新的类库、代码示例和项目创意,并将不同技术所用到的库和工具统一起来,通过注释加以标明,以方便读者阅读。书中探讨了字符串实用工具、语义网络、图形、可视化数据以及多媒体应用等,相信每个读者都能从中受益。
本书主要内容:
语义网络的概念、工具以及代码
创建和处理RSS反馈表
使用分析器生成器或由Java核心、开源项目提供的xML API将非XML文
本结构转换为XML
利用单元矩阵(Cell Matrix)的Java模拟器,构建和测试自己的单元电路,并
实现在分布式系统内与其他单元电路的连接
用开源类库创建有关科学和数学的应用程序
使用Java创建动态音乐和声音,并将一些Java API应用于简单的数据发音
重用大量开源Java项目免费库中的代码
作者简介
Brian D.Eubanks是Internet技术方面的专家,Eu Technologies公司的创始人。他有着二十多年的从业经验,担任过计算机程序员、网络工程师和系统顾问等职。目前致力于Java、xML和Flash方面的工作。
目录
第1章 JAVA语言及核心API
1.1 在Java中没有for:使用增强的for循环
1.2 计数:使用枚举
1.3 执行安全存放:使用类型安全映射
1.4 常用的泛型:使用泛型参数来编写方法
1.5 使用多个参数:编写Vararg方法
1.6 要决断:使用Java断言
1.7 以纳秒级的时间计算:使用System.nanoTime
1.8 亚毫秒级的线程休眠
1.9 创建一个匿名的类
1.10 “==”不等于“.equals”
1.11 本章小结
第2章 字符串实用程序
2.1 使用正则表达式来搜索文本
2.2 使用String.split方法
2.3 在一个String中查找子串模式
2.4 使用Regex捕获组
2.5 使用正则表达式进行替换
2.6 使用Scanner类进行语法分析
2.7 使用Scanner类分析复杂的语法
2.8 产生随机文本
2.9 在Java 1.5中显示数组
2.10 二进制编码和解码
2.11 使用MessageFormat格式化字符串
2.12 使用Formatter(格式化程序)格式化字符串
2.13 本章小结
第3章 处理XML和HTML
3.1 XML简要回顾
3.2 使用WebRowSet创建XML
3.3 SAX栈:记录SAX中的标签关系
3.4 使用SAX:直接调用ContentHandler
3.5 筛选式触发ContentHandler
3.6 使用DOM4J读取XML文档
3.7 使用XPath来简化数据提取
3.8 不可见的标签:在加载到DOM4J中之前筛选文档
3.9 使用JavaCC创建分析器
3.10 将其他语法转换成XML
3.11 屏幕抓取HTML页面以获取数据
3.12 使用Lucene进行搜索
3.13 本章小结
第4章 逐步了解语义网(Semantic Web)
4.1 N3和Jena概述
4.2 为你的组织创建RDF词汇
4.3 在Jena中使用RDF层次结构
4.4 将Dublin Core附加到HTML文档
4.5 使用Jena RDQL进行查询
4.6 Lojban、RDF和Jorne项目
4.7 使用Informa发布RSS新闻馈送
4.8 聚集RSS新闻馈送
4.9 使用Informa轮询RSS馈送
4.10 使用Informa筛选RSS馈送
4.11 本章小结
第5章 科学和数学应用
第5章 科学和数学应用
5.1 (Fun-Tors)有趣的物件:创建和应用仿函数
5.2 奇特的仿函数:使用复合仿函数
5.3 大信息容量:使用Colt的BitVector
5.4 通过BitMatrix创建真值表
5.5 使用JScience Quantities(量)
5.6 难以处理的小数:任意精度的运算
5.7 使用JScience中的代数函数
5.8 连接非门:使用端口连接真值表
5.9 使用JGraphT进行连接
5.10 连接通用处理单元
5.11 使用Joone构建神经网络
5.12 将JGAP用于遗传算法
5.13 使用Jade构建智能代理
5.14 使用JwordNet向导英语
5.15 本章小结
第6章 图形和数据可视化
6.1 使用XML定义Java GUI
6.2 利用矢量消除破损:使用SVG显现数据
6.3 了解SVG:使用Batik查看SVG的内容
6.4 人体艺术:将JGraphT转换成JGraph视图
6.5 使用JGraph属性图
6.6 绘制新版图:使用JFreeChart创建图表
6.7 使用Java创建报表
6.8 周期模式:简单的2D数据可视化
6.9 精致的变换:在Java 2D中使用仿射变换
6.10 提供缩放功能:使用Piccolo构建可缩放的GUI
6.11 本章小结
第7章 多媒体和线程同步
7.1 使用JFugue制作音乐
7.2 同Java Sound MIDI一道使用JFugue
7.3 将事件发送到一个MIDI输出设备
7.4 嘟嘟声和哔哔声:使用JMusic合成声音
7.5 嘶嘶声、嗡嗡声、哼哼声:使用JMusic中的噪声和复杂的合成音
7.6 使用低级Java Sound(声音)
7.7 是的,亲爱的,我正在听:读取来自输入线数据线的音频
7.8 对我讲话:采用Java Speech使程序通话
7.9 缩减、重用、回收利用无用单元:GC和Javolution实时API
7.10 抓紧时间:使用CyclicBarrier同步线程
7.11 本章小结
第8章 娱乐、集成和项目创意
8.1 程序之外的思考:使用Java来控制乐高机器人
8.2 使用AWT Robot类控制鼠标
8.3 单击和选取:使用JCalendar选取日期
8.4 快速投递:使用HttpClient向HTTP服务器投递表单
8.5 使用Java模拟单元矩阵(Cell Matrix)
8.6 自然界会变戏法:单元矩阵的进化
8.7 真正的工蚁:使用Apache Ant运行应用程序
8.8 玩赌博游戏:使用BeanShell
8.9 测试、测试、再测试:创建JUnit测试
8.10 展望未来:将JXTA用于对等式应用
8.11 网格是很有用的:使用Globus工具包和网格计算
8.12 闲聊:使用Jabber向应用程序添加聊天功能
8.13 需要一些汇编:编写JVM汇编语言
8.14 字节码缺陷:结合遗传算法与BCEL
8.15 “爪哇”替代品:将其他语言编译成字节码
8.16 Lojban的语法查看器
8.17 打补丁:合成器补丁编辑器
8.18 带有连线的单词:WordNet浏览器
8.19 可随时提供的信息:自动新闻馈送(Newsfeed)生成器
8.20 机器人学校:神经网络机器人
8.21 注释革新:Java 5.0注释管理工具
8.22 变幻之风:使用CVS和源代码控制
8.23 提前伪造:将SourceForge用于你的项目
8.24 本章小结
术语表
媒体评论
有些书籍,虽然归属于技术类,但只是趣味性的读物。班克斯?布赖恩的《Wicked Cool Java》一书就属于此类。这本书的开头跟其他Java书籍一样,但随即立刻直奔主题,不论是初学者还是有经验的Java使用者都很喜欢这一点。如果你只是把Java当成另外一种程序设计语言,那么浏览此书也可以给你带来一些灵感,即用Java和它的一些相关技术来做一些事情。
这本书的八章自成体系,很难分出等级。只要你愿意,你可以从最后一章开始往回读,或者打乱顺序去读,都不会遗漏任何一点。如果你想寻求新的挑战或者尝试新的观念,这本书会对你有所帮助。
书的开头两章是Java权威的介绍性资料。第一章讲述的是每个人都应掌握的Java的一些主要特点,包括Java 5的新特点。如果你需要关于枚举、属性、隐藏种类及其他一些特点的快速指南,可以阅读这一章。有经验的Java程序设计师可能会直接进入第二章,这一章重点讲述字符串实用工具,特别是常用表达式。第三章包含的标准内容都可以在其他一些Java书籍中找到。但是这一章开启了后面的章节,概述的是使用XML (可扩展标记语言),HTML(超文本标记语言)以及组织好的文本来工作。
在第四章里班克斯的折衷主义影响开始显现。他介绍了如何使用和驾驭语义网络的工具、代码以及观念。如果你从未考虑使用语义网络或者不知道那是什么,你会觉得这一章很吸引人。我的三名伍斯特工学院的学生去年用一种叫Lojban 1 的人工语言作了一个项目。 我从未听说这一语言,而班克斯在这本书里探讨了其与语义网络的潜在联系。这的确使我对这本书产生了兴趣,并想更深入的读下去。
Java可以有数学或科学方面的应用吗?回答是肯定的。阅读第五章,你会了解Java如何运用在像初始运算这样的领域。第六章和第七章向您简要地介绍了Java用到的图形、可视化数据以及多媒体应用软件。
一旦你沉迷于此书,你就会迫不及待地想把其中的一些观念应有于你自己的项目之中,或者你会以新的方式考虑其他的项目并参与其中。第八章为您提供的是一些现有的工程,并为您建议一些新的工程理念。无论你是一位正在为公司编写程序的程序员,还是一个有程序员潜质并且想发挥这种潜质的人,都会对这一章的内容感兴趣。
这本书最大的特点就是将不同技术所用到的库和工具统一起来,这些都通过页边注释加以标明。这本书还带有一份完善的术语表。通过浏览该书的同步站点也可以多少了解一些该书的内容。(http://www.wickedcooljava.com/)但是,不要局限在网站上。搞到一本《Wicked Cool Java》来读,真的是一本不可思议的好书!