Effective Java Programming Language Guide
Enlarge cover
Rate this book
Clear rating

Effective Java Programming Language Guide

4.43 of 5 stars 4.43  ·  rating details  ·  2,066 ratings  ·  160 reviews
While specifically targeting intermediate Java programmers (the bulk of Java programmers), this book also provides "food for thought' to advanced programmers and C++ programmers in particular. "Effective Java" is an explicit (and acknowledged) homage to Scott Meyer's "Effective C++."
Paperback, 272 pages
Published June 5th 2001 by Addison-Wesley Professional
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.
Effective Java Programming Language Guide by Joshua BlochThinking in Java by Bruce EckelJava Concurrency in Practice by Brian GoetzJava Cookbook by Ian F. DarwinJava in a Nutshell by David Flanagan
JAVA
1st out of 19 books — 7 voters
Single Page Web Applications by Michael S. MikowskiJava for Dummies Quick Reference by Doug LoweSCJP Sun Certified Programmer for Java 6 Study Guide by Kathy SierraJava Concurrency in Practice by Brian GoetzJavaScript Objects Functions and Arrays Explained by Tony de Araujo
Web Development with HTML5 and Java
6th out of 42 books — 5 voters


More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  rating details
Eric
This is the single best book I have seen or read about Java to date. Bloch, who has been involved in the development of the latest versions of the Java language and specification, does not teach how to write Java code; he teaches how to write GOOD Java code.

This is a MUST READ for anyone who plans to write more than a little bit of Java code. But not only that, it is fairly easy to read and rather interesting.

I had a few second thoughts after writing the review above, so I thought I'd better add...more
Jesse
Score: 3.5/5

Effective Java: even the title is concise and to-the-point, like the rest of the book's writing. This is not a book for beginners, but rather a book on general software design concepts, particularly with respect to Java itself. The book is organized into a few dozen "items", most of which follow this format:
1) "Here's a suggestion. You should probably follow it."
2) "Here's an example of following it, here's an example of why not following it is bad, and here's an example of when you...more
Michael
Although it is a bit outdated, 90% of the book contains great advise for any Java programmer. If you have not read this then you do not know how to program Java.
-m
Christian Brumm
Effective Java is THE BOOK you want to read first when you start writing Java code professionally (for a living).

In the style of Scott Meyer's C++ books, Joshua Bloch - the head behind several modern Java libraries - presents the essential tricks of the trade and best practises when it comes to Java programming. This is essential when you want to write highly maintainable, efficient modern Java code.

The second edition puts a lot of emphasis on all the new language features that came with Java 5...more
Francis
This is a unique and very worthwhile work for experienced Java developers who want to take their Java skills to the next level. It assumes that the reader is fully comfortable programming in Java, and gives a collection of tips on how to exploit certain language features, how to avoid various pitfalls, and so forth. The book makes frequent reference to design patterns, but it is not a design patterns book. It is also distinct from a “software engineering” book, but rather concentrates on aspects...more
Tomasz
If most programmers consider Core Java to be the best book for beginners, they should think about “Effective Java” as the best book for intermediate and more advanced Java programmers.
After this book my awareness about how good Java code should look like improved a lot. I learnt a lot of interesting and useful approaches to developing code in different situations. And, in spite of being heavily packed of knowledge, I can not say that reading this book was difficult. It was a nice lecture althoug...more
Dimitko
This book impressed me with the amount of practical use-cases of Java subtleties and intricacies -- for example, the proper implementation of "equals" method in classes.

The author not only shows us some common misconceptions about the "low level" Java mechanics (not the native level, but the basics of the language and the Java API), but also gives us many examples from his rich carreer.

It is my opinion that understanding the basics of Java (it turns out many of us don't) is the key to avoiding m...more
John Chilton
If you program Java, you must read this book. You won't learn any new syntax, language feature, library, or framework, but you will be a much better programmer as a result of reading this book. Its the best anything on Java I have read. I don't agree with 100% of the material in this book, but Joshua Bloch has a strong, clear opinions and he argues them well. This book is so good, I think you should read it even if you aren't a Java programmer but program C#, C++, or something else along those l...more
Denis
This book is simply brilliant. Updated to the most recent language specification it covers a lot of issues and caveats that almost every Java developer encounters every day. The author is the guy who has designed and implemented the Collections framework and he knows his subject very well. This book can and definitely will increase one's productivity dramatically. The only obvious prerequisite is that a reader should already know and have experience in Java. Otherwise it would be better to inves...more
Jan-Willem
Bloedstollend
Venkat Pedapati
If you have already done a few years of programming in an object oriented programming language like Java, this book might make you very uncomfortable. More than saying what to do, this book stresses on what not to do in Java and you'll thank for it in the long term.

The tips are organised into items each of few pages and can be read independently.
Jeffrey
Easy to read for a programming book. Great information about the best way to use java. Also contains many sections detailing how changes in java affect how you should implement your code.

Excellent for Java developers keeping current on Java
Ryanjustus
Amazing book that I would recommend every Java developer have in his library. This book covers the best practices aspects of programming Java that are pretty hard to pick up without years and years of trial and error and seeing what works best.
Owen Lindsell
Points out loads of really important pitfalls that you really should know if you want to write quality code. In a style that's informative and enjoyable.
Moayad Taibah
Chapters Read: 2 through 10

This book is a hands-on guide and a reference that should be kept by the side of any java developer. It provides a list of dos and donts in when creating and handling different data structures in java and it does so by providing a fully-fledged, working examples and explaining what went wrong, or right.

The minor disadvantage this book has is that I felt it was tailored for java as it references a lot of its library. However, I read this book as part of a course and I...more
Maciek
This is a fantastic book. It gives you a ton of bite sized ways to improve your code, that seem to be able to make wonders for your programs when used in aggregate.

I especially enjoyed the chapters on Serialization and Concurrency, as I feel these topics are not adequately represented in more basic books about Java. The chapters more concerned with API design had a similar vibe to Martin Odersky's "Programming in Scala" and the general feel of the Scala language, despite some philosophical diffe...more
Jonny Andersson
I came to love this book already after I have had read the first edition of it. I didn't know much about it before that. I had just heard that it is good but I was just knocked and my first impression was that I should have read this book already a lot earlier! I read the first edition two times to catch as much as possible from it. I am not sure if I have read the second edition two or three times now to repeat it and update myself when it have been a while since my last reading. Anyone that ca...more
Rahma Naveed
import java.util.Scanner;
public class JavaApplication54 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner in= new Scanner (System.in);
System.out.println("enter your name");
String a=in.next();
System.out.println("enter math marks in quiz 1");
int b=in.nextInt();
System.out.println("enter your math quiz marks in quiz 2");
int c=in.nextInt();
System.out.println("enter your math test mark in test 1");
int d=in.nex...more
Jyri-matti Lähteenmäki
Excellent book for every Java developer.

However, the book is quite concentrated on API development so many of the items aren't really appropriate (or even sensible) for "regular coding". The reader should be aware of this.
Nick Black
Before I head off to Google in NYC next February, I'm doing three months of contract work for a Java shop in Atlanta. I picked this up to refresh my Java skills, which have grown rusty in the decade-plus since taking and then TA'ing the Java-based Introduction to Computer Science as a freshman at GT. A quick and useful guide in the line of Scott Meyers's Effective C++ and More Effective C++, on which Mr. Bloch seems to have consciously based his book.
Salil Wadnerkar
Excellent job by the author. It is easy to understand and packs a lot of useful information in its 200+ pages. Every Java developer should get this book. Highly recommended!
Dmitry Zinkevich
Must read for every Java developer! It also may be useful for those who program in other languages than Java because the book describes very useful design techniques.
Sundarraj Kaushik
Another good book from Joshua Bloch. Gives lots of tips on how one should write good and right code in Java. This is a precursor to Java Puzzlers which is more about how one can introduce subtle errors in Java unwittingly.
Although the book is based on JDK 1.4 (the edition that I read was the older edition the newer edition has been upgraded to include topics like generics) most of what has been mentioned is relevant even for JDK 1.7.
Most of these rules/best practices have found their way into st...more
Jeremy
An absolutely tremendous book. Took me to the next level as an engineer. I try to reread this every couple of years or so.
something_
Jun 06, 2013 something_ rated it 5 of 5 stars
Recommends it for: Any intermediate Java programmer
This book alone made me a better Java programmer. Period.


Pros:
* It's presented by items, so no need to read it sequentially;
* Contains a glimpse on the intricacies of the Java language;
* Contains code examples on 'why do this, but not that';
And more importantly,
* You'll probably consider things that never even crossed your mind (or at least, not mine).

Cons
* It's geared towards Java 2 and... Java 7 has just came out. In my eyes, it doesn't make it less valuable though.


Even though I just finished...more
Neville Ridley-smith
Just plain awesome. Josh Bloch writes in an extremely clear, logical style and the recommendations are all valid as far as I can tell. The last two chapters (concurrency and serialization) get a bit hairy but they will only apply to a smaller set of people.

Although each item can be read independently, it's worth reading through the book in sequence as there are many times where he builds on code or ideas mentioned in previous items.

And then once you've done that, keep it on your shelf for refere...more
Jorge
A deep review of some interesting points of the java programming language
terababy
I read the first edition of this book on 2002, when I was doing a lot of work in Java 1.4. I've been out of the Java world for awhile, and the second edition is really helping to remind me of best practices. Bloch has updated to cover new language features added in Java 5, such as the enum type, annotations, and generics. I can't top the praise that luminaries in the Java worlds have heaped upon the first edition of this book; see the back cover for a sampling. A must for every Java developer. Y...more
Joey Reinders
A must read (and must-be-applied) book for all Java developers
Arttu Viljakainen
This is easily one of the best Java books out there.
« previous 1 3 4 5 6 7 8 9 99 100 next »
topics  posts  views  last activity   
日本語盤ひどすぎ? 1 9 Nov 17, 2011 05:13AM  
  • Java Concurrency in Practice
  • Thinking in Java
  • Programming in Scala
  • Spring in Action
  • Refactoring: Improving the Design of Existing Code
  • Head First Design Patterns
  • Test Driven Development: By Example
  • Working Effectively with Legacy Code
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Programming Pearls
  • The Practice of Programming
  • Growing Object-Oriented Software, Guided by Tests
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Seven Languages in Seven Weeks
  • Advanced Programming in the Unix (R) Environment
  • The Algorithm Design Manual

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Java Puzzlers: Traps, Pitfalls, and Corner Cases Effective Java (Java Series) Java Concurrency in Practice Jaba Heikō Shori Puroguramingu: Sono Kiban To Saishin Eipīai O Kiwameru

Share This Book

“One advantage of static factory methods is that, unlike constructors, they have names.” 1 likes
“A second advantage of static factory methods is that, unlike constructors, they are not required to create a new object each time they're invoked.” 0 likes
More quotes…