Ranked in these QuestionsQuestion Ranking
Pro Clear language
The author uses simple and concise language. Even complex subjects are explained in a way that is easy to understand for beginners.
Pro Covers best practices in great detail
Anyone can learn the syntax and knock up some code, but Effective Java is a series of lessons about best practices. The book teaches how to write good, secure, maintainable code.
Pro Includes good examples
Con Not for complete beginners
Effective Java by Josh Bloch is not for the beginner programmer, but more for someone who's migrating to Java or who wants to polish their Java.