Java Puzzlers: Traps, Pitfalls, and Corner Cases (Paperback) (Java 謎題:陷阱、險境與邊緣案例)

Joshua Bloch, Neal Gafter

買這商品的人也買了...

相關主題

商品描述

Description:

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™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ 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:

1. Introduction.

2. Expressive Puzzlers.

    Puzzle 1: Oddity

    Puzzle 2: Time for a Change

    Puzzle 3: Long Division

    Puzzle 4: It's Elementary

    Puzzle 5: The Joy of Hex

    Puzzle 6: Multicast

    Puzzle 7: Swap Meat

    Puzzle 8: Dos Equis

    Puzzle 9: Tweedledum

    Puzzle 10: Tweedledee

3. Puzzlers with Character.

    Puzzle 11: The Last Laugh

    Puzzle 12: ABC

    Puzzle 13: Animal Farm

    Puzzle 14: Escape Rout

    Puzzle 15: Hello Whirled

    Puzzle 16: Line Printer

    Puzzle 17: Huh?

    Puzzle 18: String Cheese

    Puzzle 19: Classy Fire

    Puzzle 20: What's My Class?

    Puzzle 21: What's My Class, Take 2

    Puzzle 22: Dupe of URL

    Puzzle 23: No Pain, No Gain

4. Loopy Puzzlers.

    Puzzle 24: A Big Delight in Every Byte

    Puzzle 25: Inclement Increment

    Puzzle 26: In the Loop

    Puzzle 27: Shifty i's

    Puzzle 28: Looper

    Puzzle 29: Bride of Looper

    Puzzle 30: Son of Looper

    Puzzle 31: Ghost of Looper

    Puzzle 32: Curse of Looper

    Puzzle 33: Looper Meets the Wolfman

    Puzzle 34: Down for the Count

    Puzzle 35: Minute by Minute

5. Exceptional Puzzlers.

    Puzzle 36: Indecision

    Puzzle 37: Exceptionally Arcane

    Puzzle 38: The Unwelcome Guest

    Puzzle 39: Hello, Goodbye

    Puzzle 40: The Reluctant Constructor

    Puzzle 41: Field and Stream

    Puzzle 42: Thrown for a Loop

    Puzzle 43: Exceptionally Unsafe

    Puzzle 44: Cutting Class

    Puzzle 45: Exhausting Workout

6. Classy Puzzlers.

    Puzzle 46: The Case of the Confusing Constructor

    Puzzle 47: Well, Dog My Cats!

    Puzzle 48: All I Get Is Static

    Puzzle 49: Larger Than Life

    Puzzle 50: Not Your Type

    Puzzle 51: What's the Point?

    Puzzle 52: Sum Fun

    Puzzle 53: Do Your Thing

    Puzzle 54: Null and Void

    Puzzle 55: Creationism

7. Library Puzzlers.

    Puzzle 56: Big Problem

    Puzzle 57: What's in a Name?

    Puzzle 58: Making a Hash of It

    Puzzle 59: What's the Difference?

    Puzzle 60: One-Liners

    Puzzle 61: The Dating Game

    Puzzle 62: The Name Game

    Puzzle 63: More of the Same

    Puzzle 64: The Mod Squad

    Puzzle 65: A Strange Saga of a Suspicious Sort

8. Classier Puzzlers.

    Puzzle 66: A Private Matter

    Puzzle 67: All Strung Out

    Puzzle 68: Shades of Gray

    Puzzle 69: Fade to Black

    Puzzle 70: Package Deal

    Puzzle 71: Import Duty

    Puzzle 72: Final Jeopardy

    Puzzle 73: Your Privates Are Showing

    Puzzle 74: Identity Crisis

    Puzzle 75: Heads or Tails?

9. More Library Puzzlers.

    Puzzle 76: Ping Pong

    Puzzle 77: The Lock Mess Monster

    Puzzle 78: Reflection Infection

    Puzzle 79: It's a Dog's Life

    Puzzle 80: Further Reflection

    Puzzle 81: Charred Beyond Recognition

    Puzzle 82: Beer Blast

    Puzzle 83: Dyslexic Monotheism

    Puzzle 84: Rudely Interrupted

    Puzzle 85: Lazy Initialization

10. Advanced Puzzlers.

    Puzzle 86: Poison-Paren Litter

    Puzzle 87: Strained Relations

    Puzzle 88: Raw Deal

    Puzzle 89: Generic Drugs

    Puzzle 90: It's Absurd, It's a Pain, It's Superclass!

    Puzzle 91: Serial Killer

    Puzzle 92: Twisted Pair

    Puzzle 93: Class Warfare

    Puzzle 94: Lost in the Shuffle

    Puzzle 95: Just Desserts

Appendix A: Catalog of Traps and Pitfalls.

Appendix B: Notes on the Illusions.

References.

Index.

商品描述(中文翻譯)

描述:
你真的了解Java嗎?你是一個程式碼偵探嗎?你曾經花了幾天的時間追蹤由於Java或其庫中的陷阱或問題引起的錯誤嗎?你喜歡謎題嗎?那麼這本書就是為你而寫的!
在《Effective Java》的傳統中,Bloch和Gafter深入探討了Java編程語言及其核心庫的微妙之處。《Java Puzzlers》以視覺效果驚人的視錯覺為例,提供了95個惡魔般的謎題,既教育又娛樂。任何具有Java工作知識的人都能理解這些謎題,但即使是最經驗豐富的老手也會覺得它們具有挑戰性。
大多數謎題都以一個行為看似不同於實際的短程式的形式呈現。你能猜出它的功能嗎?謎題根據它們使用的功能松散地分組,每個謎題後面都有詳細的解答。解答不僅僅是對程式行為的簡單解釋,還向你展示如何避免潛在的陷阱和問題。書末的陷阱和問題目錄提供了簡潔的分類,供日後參考。
解決這些謎題,你將再也不會成為那些迷惑甚至最有經驗的程式設計師的反直覺或晦澀行為的犧牲品。

目錄:
1. 簡介。
2. 表達式謎題。
- 謎題1:奇怪的事情
- 謎題2:改變的時機
- 謎題3:長除法
- 謎題4:這是基本的
- 謎題5:十六進制的樂趣
- 謎題6:多點廣播
- 謎題7:交換肉
- 謎題8:Dos Equis
- 謎題9:Tweedledum
- 謎題10:Tweedledee
3. 具有特殊性的謎題。
- 謎題11:最後的笑聲