A curated list of some of the best Java books for software developers.
Kathy Sierra and Bert Bates$59.99 $53.99
A good visual learner's introduction to the language.
How to design programs that work, and work well together.
David Flanagan and Benjamin J. Evans$59.99 $53.99
Faster, dryer and more detailed than Head First Java. Great if you know another C-family language, though that's not a necessary precondition.
Allen B. Downey and Chris Mayfield$49.99 $44.99
Undergraduate CS course book in Java.
Doug Lea, Brian Goetz, et al.$59.99 $53.99
Every dev needs to understand concurrency, and many need help to understand. This book provides it.
Ian F. Darwin$69.99 $62.99
My own contribution: how to perform common (and a few not-so-common) tasks in modern Java. Updated for Java 11-14.
Scott Oaks$59.99 $53.99
Java generally has good performance, but there are cases where you need to improve it by altering your code. Use this guide.
Joshua Bloch and Neal Gafter$49.99
Every programming language has some "interesting" corner cases. This book will explode your head as you try to figure out why some obvious things aren't so obvious.
Richard Helm, Erich Gamma, et al.$59.99
The classic work on Design Patterns, first released the same year as Java itself. Patterns apply to most OO languages; although the examples in the text are in C++ you can read them.
Brian Kernighan and Rob Pike$49.99
How to get to be a good programmer? Read this book and see.
Brian W Kernighan$18.95
C and Unix had a big influence on Java; Kernighan had a big influence on Unix, and tells its story here.
Paul Bakker and Sander Mak$39.99
Sander shares his very detailed knowledge of modules, one of the biggest changes in recent Java history.
While Java can never become a pure functional language, modern Java offers a lot of support for FP, and this book explores how to use that to become "a better Java developer."
Eric Freeman, Elisabeth Robson, et al.$69.99 $62.99
More in the Head First series: visual learners' way to absorb the GoF Design Patterns using Java code and clear examples.
Thanks for looking! Please support this list by purchasing my Java Cookbook, or any of these fine works.