Thinking in Java: (By: Bruce Eckel)
Thinking in Java is a great book. This award-winning book by Bruce Eckel is designed for those who want to migrate from other object-oriented languages such as C++ to JAVA. The book covers everything there is to know about JAVA and it brings readers up to speed with the latest features of JAVA 2. The book pays particular attention to object design and it covers different APIs in JAVA 2. Some of the notable topics that are covered include object-design basics, JAVA I/O classes, inheritance and polymorphism, deployment to JAR files, object lifetimes, exception handling, and multi-threading and persistence, among others.
Java(TM) Puzzlers: Traps, Pitfalls, and Corner Cases: (By: Joshua Bloch , Neal Gafter)
A well-liked option with JAVA students and teachers is Java(TM) Puzzlers: Traps, Pitfalls, and Corner Cases. The book by Joshua Bloch, a Jolt Award-winner, has many brainteasers about JAVA coding language and JAVA’s core libraries. The book is intended to challenge those who have a working knowledge of the JAVA programming language. The 95 diabolical puzzlers in the book are grouped according to the features employed.
Effective Java (2nd Edition): (By: Joshua Bloch)
One of the most popular books on JAVA is Effective Java (2nd Edition). The book is written by a successful Java developer, Joshua Bloch. The strongest selling point of the book is the over 50 tips and best practices for writing a better JAVA code. The book offers advice on effective coding and it offers an insider insight into design choices that have been made in Sun’s JAVA libraries over the years. The highly-readable book has 57 free-standing items in 9 chapters and it describes many idioms, patterns and anti-patterns.
Java Concurrency in Practice: (By: Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea)
If you want to master JAVA Threading concepts, you should read Java Concurrency in Practice. Java Concurrency in Practice covers basic concepts of thread safety and concurrency, applicable techniques in building and composing classes that are thread-safe, the use of concurrency building blocks in java.util.concurrent, the dos and don’ts of performance optimization, the testing of concurrent programs, and advanced topics such as non-blocking algorithms, the JAVA memory model, and atomic variables. This is a must-have book because threads are an integral part of the JAVA platform and the use of concurrency for optimized performance is becoming the norm with the use of multi-core. The 2007 book is written by Brian Goetz and Tim Peierls.
Head First Java, 2nd Edition: (By: Kathy Sierra, Bert Bates)
Those looking to learn coding in JAVA, should refer to Head First Java, 2nd Edition. The book, written by Kathy Sierra and Bert Bates, is an introductory JAVA coding book designed for those with little knowledge of the programming language. However, this is not your average ‘Hello, World’ introductory guide. Readers are exposed to object-oriented design, object-oriented implementation, network programming, serialization, Remote Method Invocation or RMIs and threads.