Java programmer should read this book, no exceptions. It will
make you a better programmer.
Note that this book does not teach Java; it assumes you already know it. So it's not an introductory guide. However, once you learn the basics of the language, this should be the next book you read.