-
Chapter 1 What's New?
-
Working with Arrays
-
Using Queues
-
Ordering Queues Using Comparators
-
Overriding Return Types
-
Taking Advantage of Better Unicode
-
Adding StringBuilder to the Mix
-
-
Chapter 2 Generics
-
Using Type-Safe Lists
-
Using Type-Safe Maps
-
Iterating Over Parameterized Types
-
Accepting Parameterized Types as Arguments
-
Returning Parameterized Types
-
Using Parameterized Types as Type Parameters
-
Checking for Lint
-
Generics and Type Conversions
-
Using Type Wildcards
-
Writing Generic Types
-
Restricting Type Parameters
-
-
Chapter 3 Enumerated Types
-
Creating an Enum
-
Declaring Enums Inline
-
Iterating Over Enums
-
Switching on Enums
-
Maps of Enums
-
Sets of Enums
-
Adding Methods to an Enum
-
Implementing Interfaces with Enums
-
Value-Specific Class Bodies
-
Manually Defining an Enum
-
Extending an Enum
-
-
Chapter 4 Autoboxing and Unboxing
-
Converting Primitives to Wrapper Types
-
Converting Wrapper Types to Primitives
-
Incrementing and Decrementing Wrapper Types
-
Boolean Versus boolean
-
Conditionals and Unboxing
-
Control Statements and Unboxing
-
Method Overload Resolution
-
-
Chapter 5 varargs
-
Creating a Variable-Length Argument List
-
Iterating Over Variable-Length Argument Lists
-
Allowing Zero-Length Argument Lists
-
Specify Object Arguments Over Primitives
-
Avoiding Automatic Array Conversion
-
-
Chapter 6 Annotations
-
Using Standard Annotation Types
-
Annotating an Overriding Method
-
Annotating a Deprecated Method
-
Suppressing Warnings
-
Creating Custom Annotation Types
-
Annotating Annotations
-
Defining an Annotation Type's Target
-
Setting the Retention of an Annotation Type
-
Documenting Annotation Types
-
Setting Up Inheritance in Annotations
-
Reflecting on Annotations
-
-
Chapter 7 The for/in Statement
-
Ditching Iterators
-
Iterating over Arrays
-
Iterating over Collections
-
Avoiding Unnecessary Typecasts
-
Making Your Classes Work with for/in
-
Determining List Position and Variable Value
-
Removing List Items in a for/in Loop
-
-
Chapter 8 Static Imports
-
Importing Static Members
-
Using Wildcards in Static Imports
-
Importing Enumerated Type Values
-
Importing Multiple Members with the Same Name
-
Shadowing Static Imports
-
-
Chapter 9 Formatting
-
Creating a Formatter
-
Writing Formatted Output
-
Using the format( ) Convenience Method
-
Using the printf( ) Convenience Method
-
-
Chapter 10 Threading
-
Handling Uncaught Exceptions in Threads
-
Using Thread-Safe Collections
-
Using Blocking Queues
-
Specifying Timeouts for Blocking
-
Separating Thread Logic from Execution Logic
-
Using Executor as a Service
-
Using Callable Objects
-
Executing Tasks Without an ExecutorService
-
Scheduling Tasks
-
Advanced Synchronizing
-
Using Atomic Types
-
Locking Versus Synchronization
-
-
Colophon
- Title:
- Java 5.0 Tiger: A Developer's Notebook
- By:
- Brett McLaughlin, David Flanagan
- Publisher:
- O'Reilly Media
- Formats:
-
- Ebook
- Safari Books Online
- Print Release:
- June 2004
- Ebook Release:
- June 2009
- Pages:
- 208
- Print ISBN:
- 978-0-596-00738-6
- | ISBN 10:
- 0-596-00738-8
- Ebook ISBN:
- 978-0-596-55657-0
- | ISBN 10:
- 0-596-55657-8
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The Developer's Notebook series is modeled on the tradition of laboratory notebooks. Laboratory notebooks are an invaluable tool for researchers and their successors.
The purpose of a laboratory notebook is to facilitate the recording of data and conclusions as the work is being conducted, creating a faithful and immediate history. The notebook begins with a title page that includes the owner's name and the subject of research. The pages of the notebook should be numbered and prefaced with a table of contents. Entries must be clear, easy to read, and accurately dated; they should use simple, direct language to indicate the name of the experiment and the steps taken. Calculations are written out carefully and relevant thoughts and ideas recorded. Each experiment is introduced and summarized as it is added to the notebook. The goal is to produce comprehensive, clearly organized notes that can be used as a reference. Careful documentation creates a valuable record and provides a practical guide for future developers. Reg Aubry was the production editor and copyeditor for Java 5.0 Tiger: A Developer's Notebook. Sada Preisch was the proofreader. Sada Preisch, Colleen Gorman, and Claire Cloutier provided quality control. Johnna and Tom Dinse wrote the index.
Edie Freedman designed the cover of this book. Emma Colby produced the cover layout with QuarkXPress 4.1 using the Officina Sans and JuniorHandwriting fonts.
Melanie Wang designed the interior layout, based on a series design by Edie Freedman and David Futato. This book was converted by Julie Hawks to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Adobe Boton; the heading font is ITC Officina Sans; the code font is LucasFont's TheSans Mono Condensed, and the handwriting font is a modified version of JRHand made by Tepid Monkey Fonts and modified by O'Reilly. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. This colophon was written by Colleen Gorman.
