Java 5.0 Tiger程序高手秘笈
Java 5.0 Tiger程序高手秘笈
Brett McLaughlin, David Flanagan
O'Reilly Taiwan公司 编译
出版时间:2005年11月
页数:200
代号为“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。
  1. 《程序高手秘笈》系列
  2. 第一章 有什么新玩意?
  3. 操作Array
  4. 使用Queue
  5. 使用Comparator将Queue排序
  6. Override返回类型
  7. 更好地运用Unicode
  8. 加入StringBuilder
  9. 第二章 Generic
  10. 使用Type-Safe的List
  11. 使用Type-Safe的Map
  12. Interating Over Parameterized Type
  13. 接受Parameterized Type作为参数
  14. 返回Parameterized Type
  15. 使用Parameterized Type作为类型参数
  16. 检查Lint
  17. Generic与类型转换
  18. 使用类型通配符
  19. 撰写Generic类型
  20. 限制类型参数
  21. 第三章 Enumerated 类型
  22. 创建Enum
  23. 行内(Inline)声明Enum
  24. Iterating Over Enum
  25. Switch分支的Enum
  26. Enum的Map
  27. Enum的Set
  28. 在Enum中加入Method
  29. 实现有Enum的Interface
  30. 值定的Class程序主体
  31. 自定义enum
  32. 对Enum作Extend
  33. 第四章 Autoboxing与Unboxing
  34. 将Primitive转换成Wrapper类型
  35. 将Wrapper类型转换成Primitive
  36. Wrapper类型的递增与递减
  37. Boolean与boolean
  38. Conditional与Unboxing
  39. 流程控制语句与Unboxing
  40. Method Overload的解析
  41. 第五章 vararg
  42. 创建可变长度的(Variable-Length)参数List
  43. Iterating Over可变长度的参数List
  44. 允许零长度的参数List
  45. 于Primitive处指定对象参数
  46. 避免自动化的Array转换
  47. 第六章 Annotation
  48. 使用标准的Annotation类型
  49. Annotating一个被Override的Method
  50. Annotating一个被Deprecated的Method
  51. 抑制警告
  52. 创建自定义的Annotation类型
  53. 对Annotation作Annotate
  54. 定义Annotation类型的Target
  55. 设置Annotation类型的Retention
  56. 制作Annotation类型的说明文件
  57. 设置Annotation的继承
  58. Annotation的Reflecting
  59. 第七章 for/in语句
  60. 抛弃Iterator
  61. Iterating Over Array
  62. Iterating Over Collection
  63. 避免不需要的类型转换
  64. 让你的Class可用于for/in
  65. 判别List的位置与变量值
  66. 在for/in循环中移除List项目
  67. 第八章 静态的Import
  68. Importing静态Member
  69. 在静态的Import中使用通配符
  70. Importing Enumerated类型值
  71. Importing多个同名的Member
  72. 遮蔽静态Import
  73. 第九章 格式化
  74. 创建Formatter
  75. 撰写格式化的输出
  76. 使用便利的format() Method
  77. 使用便利的printf() Method
  78. 第十章 Threading
  79. 在Thread中处理未捕获的异常
  80. 使用Thread-Safe的Collection
  81. 使用Blocking Queue
  82. 指定Blocking的Timeout
  83. 从执行逻辑中抽离Thread逻辑
  84. 以Excutor作为Service
  85. 使用Callable对象
  86. 无ExecutorService地执行任务
  87. 任务安排
  88. 高等Synchronizing
  89. 使用Atomic类型
  90. Locking与Synchronization
  91. 索引
书名:Java 5.0 Tiger程序高手秘笈
译者:O'Reilly Taiwan公司 编译
国内出版社:东南大学出版社
出版时间:2005年11月
页数:200
书号:7-5641-0120-2
原版书出版商:O'Reilly Media
Brett McLaughlin
 
Brett McLaughlin从Logo时代(还记得那个小三角吗?)起就开始从事计算机工作。他目前正致力于使用Java及Java相关的技术构建应用程序的基础研究。最近的几年里,他在Nextel 通信公司和Allegiance电信公司研究这些技术。Brett是Java Apache项目Turbine的发起人之一,该项目使用Java Servlet为Web应用程序开发构建可重用的构件体系。他还参加了EJBoss项目,一个开源的EJB应用程序服务器;以及Cocoon,一个开源的XML Web发布引擎。他的项目都针对在运行关键任务的高性能分布式系统上使用XML和J2EE平台。为了在Java程序中操作XML,他和Jason Hunter合作定义了JDOM API。
不在计算机屏幕面前呆着的时候,Brett会弹奏吉他,或者被他的五条狗拖着遛弯儿。
Brett McLaughlin是一名吉他演奏者,他还在与现实搏斗——毕竟沉迷于指弹吉他(acoustic fingerstyle)的蓝调与爵士乐,是付不起每月的账单的。他最近刚刚发现的乐趣是写书能够帮助别人成为好的程序员,并且让自己付得起账单。他对此感到很快乐,他的妻子Leigh、小孩Dean与Robbie也是。
在进入“Head First”领域之前,Brett为Nextel Communications 及Allegiance Telecom开发企业级的Java应用程序。之后,他转战应用程序服务器领域,为Lutris Enhydra的Servlet引擎
(Servlet Engine)与EJB容器(EJB Container)开发内部系统。这一路走来,Brett着迷于开放源码并且协助进行一些很酷的编程工具开发的奠基工作,像Jakarta Turbine与JDOM。他的电子邮箱是brett@oreilly.com。
Brett D. McLaughlin has worked in computers since the Logo days. (Remember the
little triangle?) In recent years, he's become one of the most well-known authors and
programmers in the Java and XML communities. He's worked for Nextel Communications,
implementing complex enterprise systems; at Lutris Technologies, actually
writing application servers; and most recently at O'Reilly Media, Inc., where he
continues to write and edit books that matter. His list to date includes Head Rush
Ajax, and Java 5.0 Tiger: A Developer's Notebook.

Brett McLaughlin is a guitar player who is still struggling
with the realization that you can't pay the bills if you're into
acoustic fi ngerstyle blues and jazz. He's just recently discovered,
to his delight, that writing books that help people become better
programmers does pay the bills. He's very happy about this, as
are his wife Leigh, and his kids, Dean and Robbie.
Before Brett wandered into Head First land, he developed
enterprise Java applications for Nextel Communications and
Allegiance Telecom. When that became fairly mundane, Brett
took on application servers, working on the internals of the
Lutris Enhydra servlet engine and EJB container. Along the
way, Brett got hooked on open source software, and helped
found several cool programming tools, like Jakarta Turbine and
JDOM. Write to him at brett@oreilly.com.
 
 
David Flanagan
 
David Flanagan是一名程序员,也是一名作家,它的个人网站是http://davidflanagan.com。他在O’Reilly出版的其他畅销书还包括《JavaScript Pocket Reference》、《The Ruby Programming Language》以及《Java in a Nutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。
 
 
O'Reilly特有的封面设计风格主要来自读者的建议、我们自己的试验以及书店的经验。唯有独树一帜的封面,才能凸显我们对于技术主题的阐述风格,避免读者被枯燥的主题压得喘不过气来。
《程序高手秘笈》系列是以模仿传统实验室笔记的风格来开创的,实验室笔记对于研究员与他们的后继者而言是无价的工具。
实验室笔记的目的是要通过记录在工作中所获得的数据与结论,来建立可信与真实的历史。笔记本的最前面是包括主人名字与研究主题的标题页,笔记本中的每一页都应该标示页数并于前面加上目录。全文应该要清晰、易读并正确标示日期;研究员应该要使用单纯、直接的语言来指出实验的名称与采取的步骤。计算过程应该很小心地写下来,并加上思路与想法的记录。每个写在笔记本中的实验都有引言与结论,它的目标是要做出可以作为参考文献,能被理解、有条理地组织的笔记。谨慎的文件制作能够建立起非常有价值的记录并给未来开发者提供最实用的指引。