Java Developer's Bookshelf
By LHBooksA curated list of some of the best Java books for software developers.
Java in a Nutshell: A Desktop Quick Reference
David Flanagan, Benjamin J. Evans, et al.
$65.99 $61.37This has to be first! Offers a comprehensive if terse overview of the language and the core parts of the standard API. This is handy to keep beside your computer.
Head First Java: A Brain-Friendly Guide
Bert Bates, Kathy Sierra, et al.
$79.99 $74.39Head First Java offers a whimsical (therefore memorable) introduction to the language and API. Recommended for the less experienced developer.
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software
Eric Freeman and Elisabeth Robson
$79.99 $74.39How to use Design Patterns to make your software more reliable and maintainable.
Java Cookbook: Problems and Solutions for Java Developers
Ian F. Darwin
$79.99 $74.39My own contribution: how to perform common (and a few not-so-common) tasks in modern Java. Updated for Java 11-14.
97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts
$49.99 $46.49
As the title says, 97 essays on useful things to know. You might even find my name on the list of contributors.
Modern Java in Action: Lambdas, Streams, Functional and Reactive Programming
Mario Fusco, Raoul-Gabriel Urma, et al.
$54.99Just what it says on the tin!
Think Java: How to Think Like a Computer Scientist
Allen Downey and Chris Mayfield
$49.99 $46.49Undergraduate CS course book in Java.
Java Concurrency in Practice
David Holmes, Doug Lea, et al.
$59.99 $55.79Every dev needs to understand concurrency, and many need help to understand. This book provides it.
Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry
Kenny Bastani and Josh Long
$76.99Title tells all!
Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond
Scott Oaks
$65.99 $61.37Java generally has good performance, but there are cases where you need to improve it by altering your code. Use this guide.
Design Patterns: Elements of Reusable Object-Oriented Software
John Vlissides, Ralph Johnson, et al.
$65.99The 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.
Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications
Sander Mak and Paul Bakker
$43.99Sander Mak shares his very detailed knowledge of modules, one of the biggest changes in recent Java history.
Functional Programming in Java
Pierre-Yves Saumont Saumont
$49.99While 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."
Hands-On Selenium Webdriver with Java: A Deep Dive Into the Development of End-To-End Tests
Boni Garcia
$65.99 $61.37Brand-new and I haven't read it yet, but it sounds delish.
Pro JPA 2: Mastering the Java Persistence API
Jeremy Keith, Merrick Schincariol, et al.
$79.99 $74.39Database made easier with Java Persistence API.
Unix: A History and a Memoir
Brian W. Kernighan
$18.95Not a Java book, but C and Unix had a big influence on Java (t was developed on Sun's Unix, and inherited syntax from C); Kernighan had a big influence on Unix, and tells its story here.
Some older Java books:
Java Virtual Machine by Jon Meyer and Troy Downing (O’Reilly) will intrigue the person who wants to know more about what’s under the hood. This book is out of print but can be found used and in libraries.
A definitive (and monumental) description of programming the Swing GUI is Java Swing by Robert Eckstein et al. (O’Reilly).
Java Network Programming and Java I/O, both by Elliotte Harold (O’Reilly), are also useful references.
Thanks for looking! Please support this list by purchasing my Java Cookbook, or any of these fine works. See also my list of general software development books, and the list of books I've authored.