Every Java programmer must read and understand the following books.
1. Effective Java
2. Concurrency in practice
This book is authored by Joshua Bloch. He took the major role in authoring the java.util package which is [collection framework] one of the java core libraries.
He explains the best practices that every programmer should consider while writing java programs.
Some of them are:
- Contract between hashcode() and equals() of Object class when programmer overrides one of these methods in their classes
- concurrency: Inter thread communication, synchronization etc
- Immutable Objects
Concurrency in practice:
This book gives complete explanation about how efficient concurrency is achieved in java programs using concurrency utility classes which were introduced in Java 5 version.
This book is authored by:
- Brian Goetz
- Tim peierls
- Joshua Bloch
- Joseph Bowbeer
- David Holmes and
- Doug Lea
You can get them from amazon in form of hard copy or soft copy or both. Get them soon. :)