Java Developer's Bookshelf

By LHBooks

By LHBooks

A curated list of some of the best Java books for software developers.

Head First Java

Kathy Sierra and Bert Bates

$59.99 $53.99

A good visual learner's introduction to the language.

Effective Java

Joshua Bloch


How to design programs that work, and work well together.

Java in a Nutshell: A Desktop Quick Reference

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.

Think Java: How to Think Like a Computer Scientist

Allen B. Downey and Chris Mayfield

$49.99 $44.99

Undergraduate CS course book in Java.

Java Concurrency in Practice

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.

Java Cookbook: Problems and Solutions for Java Developers

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.

Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond

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.

Java Puzzlers: Traps, Pitfalls, and Corner Cases

Joshua Bloch and Neal Gafter


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.

Design Patterns: Elements of Reusable Object-Oriented Software

Richard Helm, Erich Gamma, et al.


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.

The Practice of Programming

Brian Kernighan and Rob Pike


How to get to be a good programmer? Read this book and see.

Unix: A History and a Memoir

Brian W Kernighan


C and Unix had a big influence on Java; Kernighan had a big influence on Unix, and tells its story here.

Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications

Paul Bakker and Sander Mak


Sander shares his very detailed knowledge of modules, one of the biggest changes in recent Java history.

Functional Programming in Java: How Functional Techniques Improve Your Java Programs

Pierre-Yves Saumont


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."

Head First Design Patterns

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.