标题：Java5.0Tiger程序高手秘笈
图书信息
出版社: 东南大学出版社; 第1版 (2005年10月1日)
平装: 188页
开本: 16开
ISBN: 7564101202
条形码: 9787564101206
尺寸: 23.4 x 17.7 x 0.9 cm
重量: 322 g
作者简介
作者：(美)麦克劳夫林 弗拉纳根
Brett Mclanughlin在Logo时期（还记得那个小三角吗？）就开始计算机方面的工作。他目前专精于使用Java以及Java相关技术来建立应用程序结构。最近几年他都在Nextel Communications与Allegiance Telecom,Inc.设置这些结构。Brett是Java的Turbine项目共同发起人之一，那就是建立可重复使用的组件结构使用Java servlet来开发网页应用程序的项目。他也是EJBoss项目的参与者，那是个开放源码的EJB应用程序服务器项目，以及Cocoon，一个开放源码的XML网页出版引擎项目。
David Flanagan是个把大部分时间都花在撰写JavaScript与Java上的程序设计师。他在奥莱理出过的书有《Java in a Nutshell》、《Java Examples in a Nutshell》、《Java Foundation Classes in a Nutshell》、《JavaScript：The Definitive Guide》以及《JavaScript Pocket Reference》。David有麻省理工学院的计算机科学与工程学位。他与妻儿住在美国太平洋西北区，西雅图、华盛顿、温哥华与英属哥伦比亚之间。
内容简介
代号为 “Tiger”的下一个 Java 版本，不只是个小改动版。在语言核心中有超过 100 项以上的变动，同时有大量的对 library 与 API 所做的加强，让开发者取得许多新的功能、工具与技术。但在如此多的变化下，应该从何处开始着手？也许可以从既长又无趣的语言规范说明书开始看起；或等待最少 500 页的概念与理论巨著出版；甚至还可以直接把玩新的 JDK 看看能够有什么发现；或者借由《Java 5.0 Tiger：程序高手秘笈》来做个彻底研究。
这本书由 Java 界的畅销作家 Brett McLaughlin 与 David Flanagan 合著，实事求是、直中要害的指引跳过了学院派的枯燥而切入 Tiger 的核心。读者会在第一章的结束前掌握语言中许多重要的新功能，并且在前 20 页就会发现自己沉浸于程序代码中。通过 50 个以上的范例程序，读者会有完整且实用的 generic 论述、学习到 boxing 与 unboxing是 如何影响类别转换、认识 vararg 的威力、了解如何撰写 enumerated 类型与 annotation，精通 Java的 新的格式化 method 以及 for/in 循环，甚至对 JVM 的并发运作性质有深刻的体认。
在阅读过程中，读者会认识到：
· generic ，包括了类型安全的 collection 与自行定义 generic 的 class 。
· Enumerated 类型与值，以及与 public static final 常量间的关系。
· Tiger 在 primitive 类型与 wrapper 类型间的 autoboxing 与 auto-unboxing 转换。
· 可变参数（vararg），包括了自定义 vararg 的 method 。
· Tiger 对编译器检查 annotation提供 的大量支持。
· for/in 循环。
· 新的 format() 与 printf() 格式化method 。
· 在 Tiger 中的并发运作性质，包括了 lock、scheduling timer、thread中未捕获的 exception ，以及新的 Callable interface 。
媒体评论
书评
程序高手秘笈如同书名所宣称的：书中的潦草手稿与注记正是王牌技客知道你在玩新语言、API或做项目时想要知道的事情——在你动手前就与你分享。那就是解决问题的程序代码，标注多到当纸镇的成分比做记号的成分还要多。有意思的是，这里并没有把焦点放在怎样才是漂亮的或者是有趣的事情上，而是着眼于你就是得“交卷”的需求。
目录
《程序高手秘笈》系列 
序 
第一章 有什么新玩意？ 
操作Array 
使用Queue 
使用Comparator将Queue排序 
Override返回类型 
更好地运用Unicode 
加入StringBuilder 
第二章 Generic 
使用Type-Safe的List 
使用Type-Safe的Map 
Interating Over Parameterized Type 
接受Parameterized Type作为参数 
返回Parameterized Type 
使用Parameterized Type作为类型参数 
检查Lint 
Generic与类型转换 
使用类型通配符 
撰写Generic类型 
限制类型参数 
第三章 Enumerated 类型 
创建Enum 
行内（Inline）声明Enum 
Iterating Over Enum 
Switch分支的Enum 
Enum的Map 
Enum的Set 
在Enum中加入Method 
实现有Enum的Interface 
值定的Class程序主体 
自定义enum 
对Enum作Extend 
第四章 Autoboxing与Unboxing 
将Primitive转换成Wrapper类型 
将Wrapper类型转换成Primitive 
Wrapper类型的递增与递减 
Boolean与boolean 
Conditional与Unboxing 
流程控制语句与Unboxing 
Method Overload的解析 
第五章 vararg 
创建可变长度的（Variable-Length）参数List 
Iterating Over可变长度的参数List 
允许零长度的参数List 
于Primitive处指定对象参数 
避免自动化的Array转换 
第六章 Annotation 
使用标准的Annotation类型 
Annotating一个被Override的Method 
Annotating一个被Deprecated的Method 
抑制警告 
创建自定义的Annotation类型 
对Annotation作Annotate 
定义Annotation类型的Target 
设置Annotation类型的Retention 
制作Annotation类型的说明文件 
设置Annotation的继承 
Annotation的Reflecting 
第七章 for/in语句 
抛弃Iterator 
Iterating Over Array 
Iterating Over Collection 
避免不需要的类型转换 
让你的Class可用于for/in 
判别List的位置与变量值 
在for/in循环中移除List项目 
第八章 静态的Import 
Importing静态Member 
在静态的Import中使用通配符 
Importing Enumerated类型值 
Importing多个同名的Member 
遮蔽静态Import 
第九章 格式化 
创建Formatter 
撰写格式化的输出 
使用便利的format() Method 
使用便利的printf() Method 
第十章 Threading 
在Thread中处理未捕获的异常 
使用Thread-Safe的Collection 
使用Blocking Queue 
指定Blocking的Timeout 
从执行逻辑中抽离Thread逻辑 
以Excutor作为Service 
使用Callable对象 
无ExecutorService地执行任务 
任务安排 
高等Synchronizing 
使用Atomic类型 
Locking与Synchronization 
索引