代号为“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的并发运作性质有深刻的体认。
《程序高手秘笈》系列
序
第一章 有什么新玩意?
操作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
索引