1st out of 19 books
—
9 voters
Goodreads helps you keep track of books you want to read.
Start by marking “Effective Java Programming Language Guide” as Want to Read:
Effective Java Programming Language Guide
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
Friend Reviews
To see what your friends thought of this book,
please sign up.
Reader Q&A
To ask other readers questions about
Effective Java Programming Language Guide,
please sign up.
Popular Answered Questions
Prakash
Yes, however check the 2nd edition, which will be more relevant.
Community Reviews
(showing 1-30 of 3,000)

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
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

Dec 26, 2010
Christian Brumm
rated it
it was amazing
·
review of another edition
Shelves:
cs-software
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
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

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
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

By far the best programming book I have ever read to date.

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

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
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

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
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

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

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

Quoting the foreward as is here, it justifies perfectly what this book is all about.
"If you have ever studied a second language yourself and then tried to use it outside the classroom, you know that there are three things you must master: how the language is structured (grammar), how to name things you want to talk about (vocabulary), and the customary and effective ways to say everyday things (usage). Too often only the first two are covered in the classroom, and you find
native speakers constan ...more
"If you have ever studied a second language yourself and then tried to use it outside the classroom, you know that there are three things you must master: how the language is structured (grammar), how to name things you want to talk about (vocabulary), and the customary and effective ways to say everyday things (usage). Too often only the first two are covered in the classroom, and you find
native speakers constan ...more

Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. While less common, Java applets run in secure, sandboxed environments to provide many features of native applicati
...more

5/5 Stars
Absolutely a must have read for any Java developer regardless of experience and knowledge. Even after more than 10 years using Java I was still amazed to learn so many things from this book. Granted there are things I have never needed or used (such as developing my own public API's), but there were a few things that I usually do that helped me to understand better the language and improve my coding skills.
The book is split into 78 chapters, grouped by different areas of the Java langua ...more
Absolutely a must have read for any Java developer regardless of experience and knowledge. Even after more than 10 years using Java I was still amazed to learn so many things from this book. Granted there are things I have never needed or used (such as developing my own public API's), but there were a few things that I usually do that helped me to understand better the language and improve my coding skills.
The book is split into 78 chapters, grouped by different areas of the Java langua ...more

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.
The tips are organised into items each of few pages and can be read independently.

An excellent series of recommendations about how to author high quality Java software. It was given to me by my manager at Amazon during my internship, and I read it as much as I could. This is a book that really makes you think about what you're doing in authoring software-you shouldn't just hammer out code as fast as you can, you have to actually consider what you're doing and the implications down the road. This book helped further cement in me the drive to make the software that I write exhi
...more

Одна из немногих книг, написанная, как мне кажется, не по принципу "Мне платят за количество строк", а "У меня есть куча умных мыслей, которыми я готов поделиться". Содержит пачку советов и решений по тем или иным вопросам, с которыми сталкивается разработчик каждый день. Причем почти в каждом пункте автор помимо описания проблемы приводит быстрый и кривой вариант решения, а потом - корректный и красивый (с объяснением, почему надо делать именно так, а не иначе). Прекрасное чтиво для Java-програ
...more

Great book but some parts can be skipped.
By chapters:
2 Creating and Destroying Objects.
Really interesting chapter but I didn't use these tips in practice.
3 Methods Common to All Objects.
You really should read this part, especially if you have no or little experience.
4 Classes and Interfaces.
Good OO advices.
One note: I prefer protected access over private because you can't know all use cases of your code.
5 Generics.
I think these advices are quite obvious nowadays.
6 Enums and Annotations.
So ...more
By chapters:
2 Creating and Destroying Objects.
Really interesting chapter but I didn't use these tips in practice.
3 Methods Common to All Objects.
You really should read this part, especially if you have no or little experience.
4 Classes and Interfaces.
Good OO advices.
One note: I prefer protected access over private because you can't know all use cases of your code.
5 Generics.
I think these advices are quite obvious nowadays.
6 Enums and Annotations.
So ...more

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
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

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
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

Feb 24, 2013
Rahma Naveed
added it
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
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

The reason for which I've started reading this book is that it appears that many people think it's very good (and recommend it for java software engineers).
I've got around 5 years of experience with java and I'd have to say that only 30-40% of the guidelines in the book are worthwhile. For the rest: some guidelines have been common practice for some time, some guidelines apply only if you work in a specific domain (e.g. creation of public apis) and some guidelines are simply outdated.
The book go ...more
I've got around 5 years of experience with java and I'd have to say that only 30-40% of the guidelines in the book are worthwhile. For the rest: some guidelines have been common practice for some time, some guidelines apply only if you work in a specific domain (e.g. creation of public apis) and some guidelines are simply outdated.
The book go ...more

Fabulous! If you have been working in Java(Core) and still wondering what are the golden coding rules for it then this is the single most valuable book you should read. Each rule is covered in a separate chapter that makes this book an easy read. This book will take your coding skills to a new high.

Apr 10, 2015
Luboš
rated it
it was amazing
·
review of another edition
Shelves:
software-development,
java
"Great how-to resource for the experienced developer."
----quotes----
Classes should be immutable unless there’s a very good reason to make them mutable.
There are several classes in the Java platform libraries, such as java.util.Date and java.awt.Point, that should have been immutable but aren’t.
selection among overloaded methods is static, while selection among overridden methods is dynamic
just because you can overload methods doesn’t mean you should
More computing sins are committed in the name o ...more
----quotes----
Classes should be immutable unless there’s a very good reason to make them mutable.
There are several classes in the Java platform libraries, such as java.util.Date and java.awt.Point, that should have been immutable but aren’t.
selection among overloaded methods is static, while selection among overridden methods is dynamic
just because you can overload methods doesn’t mean you should
More computing sins are committed in the name o ...more
topics | posts | views | last activity | |
---|---|---|---|---|
What Is Hubpages And Why Should You Look Toward Using Them As A Vital Role Part In Your Internet Marketing Campaigns? | 1 | 2 | Apr 26, 2015 11:21PM | |
Standards For Sensible Sportbook Products | 1 | 1 | Apr 26, 2015 08:01PM | |
A Basic Analysis Of Easy Tactics For Dentist Network | 1 | 1 | Apr 26, 2015 04:49PM | |
Questions To Consider About Choosing Key Factors Of Loan For Bad Credit | 1 | 1 | Apr 26, 2015 04:43PM | |
A Click Away From No-nonsense Loan For Bad Credit Methods | 1 | 1 | Apr 26, 2015 04:42PM | |
Coupon Tips That Will Make Your Day | 1 | 1 | Apr 26, 2015 04:35PM | |
Picking Common-sense Systems For Cannabis Seeds | 1 | 1 | Apr 26, 2015 04:24PM |
Goodreads is hiring!
Share This Book
No trivia or quizzes yet. Add some now »
“One advantage of static factory methods is that, unlike constructors, they have names.”
—
4 likes
“Learning the art of programming, like most other disciplines, consists of first learning the rules and then learning when to break them.”
—
2 likes
More quotes…