Top1 Java Book Recommendation: Thinking in Java

Author: Bruce Eckel, Date of publication: February 2006, Reviewer: Meera Subbarao.
Description: Thinking in Java is a comprehensive guide to the Java programming language, it gives insight of java and covers all aspects of core technologies including OO, Thread, Concurrency, IO, GUI/Swing and so on. It has been released five editions. The awards for Thinking in Java include Software Development Magazine Jolt Award for Best Book, Java Developer’s Journal Reader’s Choice Award for Best Book, Java Developer’s Journal Editor’s Choice Award for Best Book, Software Development Magazine Productivity Award. Thinking in Java has earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples.

Here lists a comment from readers:

I can recommend no book more highly than the classic Thinking In Java, by Bruce Eckel … the book doesn’t just have examples; it’s practically built of examples.

Top2 Java Book Recommendation: Effective Java (2nd Edition)

Author: Joshua Bloch, Foreword by Guy Steele
Description: All programmers should read this book and consider it as a Java dictionary, no matter what’s your programming level, it’s a must read book which shares the best programming practices. It’s fully filled with pragmatic advice, plenty of samples.

One famous comment from James Gosling, Fellow and Vice President, Sun Microsystems, Inc.(Now he has left Oracle)

I sure wish I had had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.

Top3 Java Book Recommendation: Java Concurrency in Practice

Author: Brian Goetz, Tim Peierls – Addison-Wesley (2006)
Description: You need this book if you’re writing – or designing, or debugging, or maintaining, or contemplating–multithreaded Java programs. we know that concurrency is quite hard and boring, but it’s most important component you have to know in Java. This book will demystify concurrency completely and it covers:

  • Basic concepts of concurrency and thread safety
  • Techniques for building and composing thread-safe classes
  • Using the concurrency building blocks in java.util.concurrent
  • Performance optimization dos and don’ts, Testing concurrent program
  • Using the concurrency building blocks in java.util.concurren
  • Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Top4 Java Book Recommendation: Head First Java

Author: O’REILLY MEDIA, O’reilly Media (COR) – Oreilly & Associates Inc (2008)
Description: If you are a beginner or Intermediate level, this book probably should be the best tutorial and reference. It will take you from journeyman to master. It has been widely used as textbook in many Java programming universities and computer schools, it introduces a new way of learning to teach readers how to quickly begin thinking like a Java TM programming language programmer.

Top5 Java Book Recommendation: Head First Design Patterns

Author: Eric Freeman, Elisabeth Freeman, Kathy Sierra.
Description: Ideal for anyone interested in software design patterns, this visually rich resource lays out the basics in a simple, clear, and concise manner, explaining everything from how patterns are used in Java API to how design principles work.

Top7 Java Book Recommendation: The Java Virtual Machine Specification

Author: Tim Lindholm, Frank Yellin – Addison-Wesley (1999).
Description: Assuming you have ready known the basic concepts of Java programming, it’s time to get more closer of JVM technology, to understand how Java bytecode is explained and executed in JVM, how to achieve the perfect JVM’s portability and superior performance. As a part of the official Java Series, it provides the definitive description of every element of the Java Virtual Machine (JVM), the underlying technology responsible for Java’s most distinctive features; its cross-platform delivery.

Top8 Java Book Recommendation: Java Puzzlers

Author: Joshua Bloch and Neal Gafter.
Description: This is one of the most intellectually challenging programming books that I have ever read,Most of the puzzles seem to involve implicit conversions done by the JVM, some involve 1.5 features, some involve class inheritance, others exceptions. Almost all of the puzzles contain links to the boundary-condition definition in the Java language spec.