商品の詳細
Effective Java プログラミング言語ガイド

Effective Java プログラミング言語ガイド
By Joshua Bloch, ジョシュア・ブロック, 柴田 芳樹

価格: ¥ 2,730 1500円以上は送料無料 詳細

発送可能時期: 一時的に在庫切れですが、商品が入荷次第配送します。配送予定日がわかり次第Eメールにてお知らせします。商品の代金は発送時に請求いたします。
販売、発送は Amazon.co.jp

12 新品/中古商品価格 ¥ 1,080

おすすめ度:

商品の詳細

  • Amazon.co.jp ランキング: #111062 / 本
  • 発売日: 2001-12-03
  • 版型: 単行本
  • 236 ページ

エディターレビュー

内容(「MARC」データベースより)
Javaを効果的に使うポイントから多くのプログラマーが間違えやすい箇所を取り上げて、回避する方法を紹介。また、基本ライブラリーであるjava.langやシリアライゼーションについても解説。

Amazon.com
Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plenty of advice from an indisputable expert in the field, this title is sure to be an indispensable resource for anyone who wants to get more out of their code.

As a veteran developer at Sun, the author shares his considerable insight into the design choices made over the years in Sun's own Java libraries (which the author acknowledges haven't always been perfect). Based on his experience working with Sun's best minds, the author provides a compilation of 57 tips for better Java code organized by category. Many of these ideas will let you write more robust classes that better cooperate with built-in Java APIs. Many of the tips make use of software patterns and demonstrate an up-to-the-minute sense of what works best in today's design. Each tip is clearly introduced and explained with code snippets used to demonstrate each programming principle.

Early sections on creating and destroying objects show you ways to make better use of resources, including how to avoid duplicate objects. Next comes an absolutely indispensable guide to implementing "required" methods for custom classes. This material will help you write new classes that cooperate with old ones (with advice on implementing essential requirements like the equals() and hashCode() methods).

The author has a lot to say about class design, whether using inheritance or composition. Tips on designing methods show you how to create understandable, maintainable, and robust classes that can be easily reused by others on your team. Sections on mapping C code (like structures, unions, and enumerated types) onto Java will help C programmers bring their existing skills to Sun's new language. Later sections delve into some general programming tips, like using exceptions effectively. The book closes with advice on using threads and synchronization techniques, plus some worthwhile advice on object serialization.

Whatever your level of Java knowledge, this title can make you a more effective programmer. Wisely written, yet never pompous or doctrinaire, the author has succeeded in packaging some really valuable nuggets of advice into a concise and very accessible guidebook that arguably deserves a place on most any developer's bookshelf. --Richard Dragan

Topics covered:

  • Best practices and tips for Java
  • Creating and destroying objects (static factory methods, singletons, avoiding duplicate objects and finalizers)
  • Required methods for custom classes (overriding equals(), hashCode(), toString(), clone(), and compareTo() properly)
  • Hints for class and interface design (minimizing class and member accessibility, immutability, composition versus inheritance, interfaces versus abstract classes, preventing subclassing, static versus nonstatic classes)
  • C constructs in Java (structures, unions, enumerated types, and function pointers in Java)
  • Tips for designing methods (parameter validation, defensive copies, method signatures, method overloading, zero-length arrays, hints for Javadoc comments)
  • General programming advice (local variable scope, using Java API libraries, avoiding float and double for exact comparisons, when to avoid strings, string concatenation, interfaces and reflection, avoid native methods, optimizing hints, naming conventions)
  • Programming with exceptions (checked versus run-time exceptions, standard exceptions, documenting exceptions, failure-capture information, failure atomicity)
  • Threading and multitasking (synchronization and scheduling hints, thread safety, avoiding thread groups)
  • Serialization (when to implement Serializable, the readObject(), and readResolve() methods)

Amazon.co.uk
You may think you're a hot Java programmer, but you aren't perfect--yet. Josh Bloch is one of the Java core architects and in Effective Java Programming Language Guide provides a Java master class.

Bloch provides 57 items (did he reject "varieties"?) grouped by subject. Each item highlights a "gotcha", expands on best practice or argues for deprecating a common practice. For example, among the gotchas, he points out problems with relying on finalisers, whose implementation varies from one JVM to another and may not run at all under some circumstances.

Best practice also gets a lot of airing. A neat example is not relying on Java's default object serialisation API, which--among other problems--can cause the object to break if you make any changes. This can result in a code maintenance nightmare. In the last category he discusses the string concatenation, "+". Using this can be a hundred times slower than appending to a StringBuffer. No problem for a one-off string but using it repeatedly can cripple performance.

Many of the items discussed are fairly trivial, such as returning zero rather than null for zero length arrays or avoiding the use of floats when you need precise answers--perhaps they were thrown in to make the magic "57"--but despite these Effective Java Programming Language Guide offers a fascinating insight into Java's architecture and solid, easily assimilated guidance on its effective usage.

Unlike most books for programmers, this is one you really will find difficult to put down. Every serious Java programmer should read it. --Steve Patient


カスタマーレビュー

Java開発設計者必読5
Java開発においてクラス設計を行う技術者については必ず読むべき1冊だと思います。この本に書いてある内容を知らない技術者には設計させたくないです。新人プログラマーには難しい内容だと思いますが、上級レベルを目指すのであれば早めに手に入れ、分からない点は有識者に聞くなどして理解を深めていけばよいと思います。

中級レベル以上のJava開発者へ4
そこそこJavaがプログラムできるようになった人には、非常にお勧めです。
我流でコーディングしていると、知らない間に良くないコーディングの
くせがついてしまうものですが、この本はそれを矯正してくれます。
例えば、しばしばimplementsするjava.io.Serializableインタフェースの
適切なimplementsの方法。equalsメソッドとhashCodeメソッドの関係。

などなど、私には非常に有用だと感じました。

単に動くコードと優れたコードがどう違うのか5
Javaのプログラミングイディオムや、Javaらしい設計指針を幅広く解説している良書。単に動くコードと優れたコードがどう違うのかが手に取るように分かるのがこの本の優れたところ。Javaの入門書の後にステップアップのために読むと効果大だと思う。