"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."
--Guy Steele, Sun Fellow and coauthor ofThe Java(tm) Language Specification
"I laughed, I cried, I threw up (my hands in admiration)."
--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group
How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!
In the tradition ofEffective Java(tm), Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions,Java(tm) Puzzlersfeatures 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.
Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.
Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.
Joshua Bloch is a principal engineer at Google and a Jolt Award-winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Josh led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University.
Neal Gafter is a software engineer and Java evangelist at Google. He was previously a senior staff engineer at Sun Microsystems, where he led the development of the Java compiler and implemented the Java language features in releases 1.4 through 5.0. Neal was a member of the C++ Standards Committee and led the development of C and C++ compilers at Sun Microsystems, Microtec Research, and Texas Instruments. He holds a Ph.D. in computer science from the University of Rochester.
Great book for checking your Java skills for certification, good way to make sure you really understand the concepts as well as the minutae of Java.Published 18 days ago by Steven Tucker
As a keen programmer, I've read more than hundred books about all aspects of software development. This one is in my Top-10, together with Llama Book, Design and Evolution of C++,... Read morePublished 3 months ago by Constantine Kulak
The first author has great reputation for writing Effective Java (2nd Edition), but for reviewing this book I purely looked at the contents of the book. Read morePublished 11 months ago by Arun R
I bought this book after reading Josh Bloch's Effective Java (2nd Edition). Although some of the puzzlers seem a bit contrived (when would I ever do *that*!? Read morePublished 11 months ago by igen
This book is with me, whenever I have time I read it, it's an amazing resource to keep myself updated.Published 22 months ago by Pedro
I have been working with Java since 1997 and after all that time I thought I new Java. I also managed to earn few Java certifications. Read morePublished on May 6, 2012 by Dushan Hanuska
This book talks about corner cases of Java that you probably won't be facing every day, but are very good to know. And besides, it was very very entertaining reading. Read morePublished on January 25, 2012 by vrto
book contain amazing puzzles around java fundamentals. A book that should be in every java programmer shelf.Published on July 16, 2010 by Amit
As the title suggests it is a puzzlers book. Reading this book opens your perspective wrt the language and its implementation. All in all a good (recreational) book.Published on June 12, 2010 by Ramin