Effective Java Programming Language Guide and over 1.5 million other books are available for Amazon Kindle . Learn more

Trade in Yours
For a Ģ1.72 Gift Card
Trade in
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Effective Java Programming Language Guide on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Effective Java (Java Series) [Paperback]

Joshua Bloch
4.9 out of 5 stars  See all reviews (16 customer reviews)

Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition Ģ27.10  
Paperback --  
Trade In this Item for up to Ģ1.72
Trade in Effective Java (Java Series) for an Amazon.co.uk gift card of up to Ģ1.72, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Special Offer until June 30, 2013: Receive an additional Ģ5 promotional Gift Card, when you trade-in at least Ģ10 worth of books. Learn more
There is a newer edition of this item:
Effective Java: Second Edition Effective Java: Second Edition 4.7 out of 5 stars (29)
Ģ24.49
In stock.

Book Description

5 Jun 2001 0201310058 978-0201310054 1

A new edition of this title is available, ISBN-10: 0321356683 ISBN-13: 9780321356680



Product details

  • Paperback: 272 pages
  • Publisher: Addison Wesley; 1 edition (5 Jun 2001)
  • Language: English
  • ISBN-10: 0201310058
  • ISBN-13: 978-0201310054
  • Product Dimensions: 18.6 x 1.8 x 23 cm
  • Average Customer Review: 4.9 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Bestsellers Rank: 406,448 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Amazon Review

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

From the Back Cover

"An excellent book, crammed with good advice on using the Java™ programming language and object-oriented programming in general."
--Gilad Bracha, Computational Theologist, Sun Microsystems, Inc., and co-author of The Java™ Language Specification, Second Edition "I sure wish I had this book ten years ago. Some might think that I don't need any Java books, but I need this one."
--James Gosling, Fellow and Vice President, Sun Microsystems, Inc., and inventor of the Java™ programming language
Are you looking for a concise book packed with insight and wisdom not found elsewhere? Need to really understand the Java programming language; that is, really understand it? Do you want to write code that is clear, correct, robust, and reusable? Look no further! The book you are holding will provide you with this and many other benefits you may not even know you were looking for. Become a more effective programmer.
Featuring fifty-seven valuable rules of thumb, Effective Java™ Programming Language Guide contains working solutions to the programming challenges most developers encounter every day. Offering comprehensive descriptions of techniques used by the experts who developed the Java platform, the book reveals what to do--and what not to do--in order to produce clear, robust, and efficient code.
Each rule appears in the form of a short, stand-alone essay offering insight, code examples, and "war stories" from this uniquely qualified author. The essays include specific advice and insights into the subtleties of the language and are illustrated with exceptional code examples. Throughout the book, common language idioms and design patterns are examined and insightful and enlightening tips and techniques are provided.
Coverage includes-
Customary and effective language usage that is saturated with expert advice in a concise, readable, and easy-to-access format.
Patterns, antipatterns, and idioms to help you get the most out of the Java platform.
Commonly misunderstood subtleties of the language and its libraries- how to avoid the traps and pitfalls.
Focus on the language and its most fundamental libraries- java.lang, java.util, and, to a lesser extent, java.io.
Detailed coverage of serialization, including practical advice that is not available elsewhere.
Appealing to a broad spectrum of the programming community, Effective Java™ Programming Language Guide presents the most practical, authoritative guidelines available for writing efficient, well-designed programs for the Java platform. 0201310058B07092001

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

3 star
0
2 star
0
1 star
0
4.9 out of 5 stars
4.9 out of 5 stars
Most Helpful Customer Reviews
20 of 20 people found the following review helpful
5.0 out of 5 stars Refreshing 27 Jun 2004
Format:Paperback|Amazon Verified Purchase
It has been an absolute pleasure to read this no-nonsense collection of observations and suggestions.

The author is extremely knowledgeable and articulates his points in a clear, concise and logical presentation, which is a rare characteristic in today's overflowed and low-quality offer of "how-to-become-a-guru" manuals.

The Collections framework is clearly the author's backyard and you will learn about implementation details and rationales that you will not easily find anywhere else.

What I found most useful in the analysis of the various Java aspects was the author's perspective, which is based on the pros and cons of implementation choices, and strongly focused on API construction. Unless you work alone and deliver complete applications, you will define, design and implement an API sooner or later, maybe even without realizing it. With the help from this book you will most certainly design a robust, maintainable and useful API.

I also liked the practical approach that sometimes goes against OO principles: for example, just because Java embraced the OO philosophy does not mean that inheritance is the only way to go. Composition, static factories, singletons, immutable classes and some good old procedural programming are discussed in depth.

Another brilliant characteristic of this guide (and I would like to especially thank the author for this) is that although there are plenty of snippets to illustrate concepts, these are just skeletons, never longer than few lines and therefore they do not force you to waste your time and divert your attention from the core issue by analyzing pages over pages of code when maybe only one line could have served the purpose....

I would say that this book finds its best audience in the experienced developer/architect who does not have a specific Java expertise but is very comfortable with some other programming language. However, everyone can benefit from in-depth explanations of often misunderstood subtleties like the "equals()", "hashCode()", "clone()" or "compareTo()" contracts. Or serialization: are you sure you master it?

You don't need a profound Java working experience to immediately grasp some concepts; I found that this guide was an excellent companion in my learning of Java, you can start reading it from day 0, and you will get back to it every time you want to know more about a new concept.

The best praise I can say about "Effective Java" is that in my opinion only a handful of experts in the whole Java community could rightfully say "This book shall not teach me no thing", and then I would like to work with these people. Read more ›

Comment | 
Was this review helpful to you?
14 of 14 people found the following review helpful
By A Customer
Format:Paperback
This book is a useful guide to common java idioms and practices. It contains essential advice that most people will only learn through years of experience with Java. Personally I prefer to learn from other people's mistakes and this book offers a wealth of mistakes to avoid and lessons to learn.
Comment | 
Was this review helpful to you?
11 of 11 people found the following review helpful
5.0 out of 5 stars If you can program Java, learn how to do it well 4 April 2002
By A Customer
Format:Paperback
This book provides maximum value, is easily readable, and very concise. High value per line. That's just what your code will give if you follow the guidelines contained here.
The format is simple, providing 57 distinct items of advice. Each item is small, some are obvious, some more complex. Even the obvious ones are valuable for their formalisation of simple approaches (the "why" to add to your "how").
It is so well written that it can be read cover-to-cover (a rarity in computer books for me), and then dipped into as a reference as and when an item becomes pertinent.
This is not a book to learn to program Java, but one to help experienced programmers write more effective Java. I doubt there is a Java programmer anywhere who would not benefit from some of the items.
Comment | 
Was this review helpful to you?
6 of 6 people found the following review helpful
5.0 out of 5 stars Essential 10 Aug 2006
Format:Paperback|Amazon Verified Purchase
This is a book for all developers; both new and experienced.

As someone who has been coding in Java from 1999, I felt my understanding of the basics were fairly good. OO techniques such as inheritance, method overloading, object creation et al were fairly bread and butter for me. Reading this book has shown me numerous ways to increase the standard of my code and also given me good reasons to code the way I should.

Many developers are aware of the fact that they should override hashCode() if they are overriding equals(), but how many could tell you why. This book does and there are many further examples like this, each one designed to highlight scenarios that can raise common (and often subtle) errors which can be easily dealt with.

This book can almost be seen as a book of design patterns but rather than covering patterns to solve various problems (such as: front controller, composite and decorator) these patterns cover writing reliable, stable, efficient and bug free code rather than hacking something together than works.

Essential for anybody wishing to improve their code.
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
5.0 out of 5 stars Will open your eyes 8 April 2007
Format:Paperback|Amazon Verified Purchase
I was very much of the opinion that everything you need to know about programming can be found online and in the Javadocs, but gave this a chance because Josh Bloch is such a legend (he made the Collections framework). I felt several "Level Up" moments when reading this book.

I was absolutely amazed how much stuff I had never even thought about before in Java... from extending objects that override equals (ouch! how broken is that?) to creating properly Serializable objects. And did you ever hear of 'volatile' before? You might want to go and check all your threaded code after reading this!

Josh Bloch is the guru when it comes to publicly usable APIs and it really shows in his hints, which sometimes means you can take his advise with a pinch of salt if you aren't writing public APIs. This book will make you look back and shudder at your existing code... he even points out many pieces in the Java standard library that make him cringe!
Comment | 
Was this review helpful to you?
4 of 4 people found the following review helpful
5.0 out of 5 stars A Must Read for all Serious Java Programmers 18 Dec 2005
Format:Paperback
Every once in a while you read something that is truly fundamental that you can’t believe you’ve never come across it before. This book contains many of those moments. In essence it imparts most of the truly fundamental principals that you need to understand to program effectively in java.

There are several sections covering different aspects of java programming. Bloch starts with an in depth look at some of the idiosyncrasies of the language that can lead to the creation of strange and nasty bugs. For example a surprising number of developers don’t realize that you have to override hashCode() when you override equals. Bloch goes into why. He also covers many design issues and good practices such as favouring static inner classes, favouring composition over inheritance and minimizing scope. In each case his analysis is succinct and thought provoking without ever becoming overly dense.

Finally, the book is organized in a very accessible manor. The contents refers to the 57 items that he highlights and the judicious use of bolding in the text is simple yet extremely effective at both highlighting the important points as well as making return visits for references accessible.

If there is one book all java programmers should have it is this one.

Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
5.0 out of 5 stars The Java Developer's Bible
This book is worth every penny. It explains all the best practices you should be adopting in your core Java programming, and why. Read more
Published on 20 July 2007 by Mr. P. HAIGH
5.0 out of 5 stars Top quality, no flab
If you have a basic understanding of J2SE take the time to read and understand the advice in this book. Read more
Published on 17 Sep 2004 by Simon Baker
5.0 out of 5 stars Worth 100-times its weight in gold!
This is without doubt the best book I've bought on Java (and I've bought a lot). I've read books on Java specifications, design patterns, etc. Read more
Published on 20 May 2004 by T. Song
5.0 out of 5 stars Takes concentration but well worth the effort!
I was so impressed with the quality of information in this book that, having reached the end of it (in a surprisingly short space of time), I started again from the beginning - not... Read more
Published on 22 July 2003 by Bramblehead
5.0 out of 5 stars Indispensible.
This book can impart the knowledge & understanding you need to write better code than you currently know is possible. Read more
Published on 20 Feb 2003 by R. Boakes
4.0 out of 5 stars Essential
This book is essential reading for people programming serious Java. It may also be valuable to students studying the language. Read more
Published on 16 July 2002 by Alice
5.0 out of 5 stars A real power tool for those who think they already know java
An excellent book. The people who need this book are the people who think they don't need this book. Read more
Published on 7 April 2002 by Alec Cawley
5.0 out of 5 stars Hard-going and rewarding
It was probably perverse of me to pick this book up while I was still learning Java (I still am), but I'm glad I did - it brings a sense of real intellectual depth to the language,... Read more
Published on 13 Jan 2002
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback