Java puzzlers : traps, pitfalls, and corner cases

Author(s)

Bibliographic Information

Java puzzlers : traps, pitfalls, and corner cases

Joshua Bloch, Neal Gafter

Addison-Wesley, c2005

  • : pbk. : alk. paper

Available at  / 1 libraries

Search this Book/Journal

Note

Includes bibliographical references and index

HTTP:URL=http://www.loc.gov/catdir/toc/ecip0513/2005015278.html Information=Table of contents

Description and Table of Contents

Description

"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 of The 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 of Effective 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) Puzzlers features 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.

Table of Contents

Preface xi Chapter 1: Introduction 1 Chapter 2: Expressive Puzzlers 5 Puzzle 1: Oddity 5 Puzzle 2: Time for a Change 7 Puzzle 3: Long Division 9 Puzzle 4: It's Elementary 11 Puzzle 5: The Joy of Hex 13 Puzzle 6: Multicast 15 Puzzle 7: Swap Meat 17 Puzzle 8: Dos Equis 19 Puzzle 9: Tweedledum 21 Puzzle 10: Tweedledee 23 Chapter 3: Puzzlers with Character 25 Puzzle 11: The Last Laugh 25 Puzzle 12: ABC 27 Puzzle 13: Animal Farm 29 Puzzle 14: Escape Rout 31 Puzzle 15: Hello Whirled 33 Puzzle 16: Line Printer 35 Puzzle 17: Huh? 37 Puzzle 18: String Cheese 39 Puzzle 19: Classy Fire 41 Puzzle 20: What's My Class? 43 Puzzle 21: What's My Class, Take 2 45 Puzzle 22: Dupe of URL 47 Puzzle 23: No Pain, No Gain 49 Chapter 4: Loopy Puzzlers 53 Puzzle 24: A Big Delight in Every Byte 53 Puzzle 25: Inclement Increment 55 Puzzle 26: In the Loop 57 Puzzle 27: Shifty i's 59 Puzzle 28: Looper 61 Puzzle 29: Bride of Looper 63 Puzzle 30: Son of Looper 65 Puzzle 31: Ghost of Looper 67 Puzzle 32: Curse of Looper 69 Puzzle 33: Looper Meets the Wolfman 71 Puzzle 34: Down for the Count 73 Puzzle 35: Minute by Minute 75 Chapter 5: Exceptional Puzzlers 77 Puzzle 36: Indecision 77 Puzzle 37: Exceptionally Arcane 79 Puzzle 38: The Unwelcome Guest 81 Puzzle 39: Hello, Goodbye 83 Puzzle 40: The Reluctant Constructor 85 Puzzle 41: Field and Stream 87 Puzzle 42: Thrown for a Loop 89 Puzzle 43: Exceptionally Unsafe 93 Puzzle 44: Cutting Class 97 Puzzle 45: Exhausting Workout 101 Chapter 6: Classy Puzzlers 105 Puzzle 46: The Case of the Confusing Constructor 105 Puzzle 47: Well, Dog My Cats! 107 Puzzle 48: All I Get Is Static 109 Puzzle 49: Larger Than Life 111 Puzzle 50: Not Your Type 113 Puzzle 51: What's the Point? 115 Puzzle 52: Sum Fun 119 Puzzle 53: Do Your Thing 123 Puzzle 54: Null and Void 125 Puzzle 55: Creationism 127 Chapter 7: Library Puzzlers 131 Puzzle 56: Big Problem 131 Puzzle 57: What's in a Name? 133 Puzzle 58: Making a Hash of It 137 Puzzle 59: What's the Difference? 139 Puzzle 60: One-Liners 141 Puzzle 61: The Dating Game 143 Puzzle 62: The Name Game 145 Puzzle 63: More of the Same 147 Puzzle 64: The Mod Squad 149 Puzzle 65: A Strange Saga of a Suspicious Sort 152 Chapter 8: Classier Puzzlers 157 Puzzle 66: A Private Matter 157 Puzzle 67: All Strung Out 161 Puzzle 68: Shades of Gray 163 Puzzle 69: Fade to Black 165 Puzzle 70: Package Deal 167 Puzzle 71: Import Duty 169 Puzzle 72: Final Jeopardy 171 Puzzle 73: Your Privates Are Showing 173 Puzzle 74: Identity Crisis 175 Puzzle 75: Heads or Tails? 177 Chapter 9: More Library Puzzlers 183 Puzzle 76: Ping Pong 183 Puzzle 77: The Lock Mess Monster 185 Puzzle 78: Reflection Infection 189 Puzzle 79: It's a Dog's Life 193 Puzzle 80: Further Reflection 195 Puzzle 81: Charred Beyond Recognition 197 Puzzle 82: Beer Blast 199 Puzzle 83: Dyslexic Monotheism 201 Puzzle 84: Rudely Interrupted 203 Puzzle 85: Lazy Initialization 205 Chapter 10: Advanced Puzzlers 209 Puzzle 86: Poison-Paren Litter 209 Puzzle 87: Strained Relations 211 Puzzle 88: Raw Deal 213 Puzzle 89: Generic Drugs 217 Puzzle 90: It's Absurd, It's a Pain, It's Superclass! 221 Puzzle 91: Serial Killer 224 Puzzle 92: Twisted Pair 229 Puzzle 93: Class Warfare 231 Puzzle 94: Lost in the Shuffle 233 Puzzle 95: Just Desserts 237 Appendix A Catalog of Traps and Pitfalls 239 Appendix B Notes on the Illusions 259 References 265 Index 271

by "Nielsen BookData"

Details

Page Top