Search for books, people and lists
Read This Twice
HomePeopleBooksSonaLibrariesSign in

Best Java Books

Dive into the world of Java programming with the top recommended books for beginners and experienced developers alike, curated from popular tech publications and blogs.

Recommendations from 56 articles, David Heinemeier Hansson, Derek Sivers, Jeff Atwood and 7 others.
55 books on the list
Sort by
Number of Articles
Effective Java book cover
Effective Java
Joshua Bloch - 2017-12-27 (first published in 2001)
Goodreads Rating
This updated classic on Java provides specific best practices on how to use the new language and library features introduced in Java 7-9. Each chapter consists of short, standalone essays that provide specific advice, updated code examples, and insight into the subtleties of the platform. Learn updated techniques and best practices on classic topics such as objects, classes, methods, libraries, and generics, and how to avoid common pitfalls of the platform. This book is essential for anyone looking to improve their Java skills.
Head First Java book cover
Head First Java
Kathy Sierra - 2005-03-15 (first published in 2006)
Goodreads Rating
Learn object-oriented programming and Java with Head First Java. This book combines puzzles, visual aids, and engaging interviews to teach you Java in a fun and fast way. The second edition focuses on Java 5.0, making it a complete introduction to both the language and development platform. Designed to work with the way your brain naturally learns, this book will teach you not just syntax, but how to think like a Java programmer. If you want to understand Java in a non-boring way, Head First Java is for you.
Java Concurrency in Practice book cover
Java Concurrency in Practice
Brian Goetz - 2006-05-09 (first published in 2005)
Goodreads Rating
Java Concurrency in Practice provides a thorough explanation of the fundamental concepts behind concurrency and multithreading in Java, including the design and implementation of the new concurrency features in Java 5.0 and Java 6. Written by a team of experts, this book offers practical advice, design patterns, and mental models for building reliable, scalable, and maintainable concurrent applications. Whether you are a developer, designer, tester, or maintainer of multithreaded Java programs, this book is an essential resource for understanding the complex and critical subject of concurrency.
Java book cover
The Complete Reference, Eleventh Edition
Herbert Schildt - 2011-02-07 (first published in 2004)
Goodreads Rating
Learn everything there is to know about Java programming with this comprehensive guide. The updated Eleventh Edition covers everything from basic syntax to key portions of the Java API library, including Swing, JavaBeans, and servlets. You'll also get an introduction to JShell, Java's interactive programming tool. Written by best-selling programming author Herb Schildt, this guide is great for beginners and experts alike, with clear explanations and numerous examples demonstrating Java in action. Don't miss out on learning one of the world's most popular programming languages.
Head First Design Patterns book cover
Head First Design Patterns
Building Extensible and Maintainable Object-Oriented Software
Eric Freeman - 2004-11-01
Goodreads Rating
Learn how to solve software design problems with design patterns in this visually rich book. Take advantage of best practices and experience of others, and spend your time on something more challenging and fun. Get to know the patterns that matter, when to use them and why, and how to apply them to your own designs. With a focus on object-oriented design principles, this book will improve your design skills and help you speak the language of patterns with ease. Newly updated and expanded, this book is designed to load patterns into your brain in a way that sticks. Join the thousands of developers who have already improved their skills through this engaging read.
Recommended by
Taylor Otwell
Clean Code book cover
Clean Code
A Handbook of Agile Software Craftsmanship
Robert C. Martin - 2008-08-01 (first published in 2007)
Goodreads Rating
Are you tired of poorly written code? Look no further than Clean Code: A Handbook of Agile Software Craftsmanship. Noted software expert Robert C. Martin offers a revolutionary paradigm to distill the best agile practices of cleaning code on the fly. Dive into case studies and heuristics to learn how to tell good code from bad, write good code, create good names, implement complete error handling, and more. This book is a must-read for any developer, software engineer, or project manager looking to produce better code.
Recommended by
Wes McKinney
Core Java Volume I--Fundamentals book cover
Core Java Volume I--Fundamentals
Cay S. Horstmann - 2007-01-01
Goodreads Rating
Master the Fundamentals of Java Programming For serious programmers, this book is the ultimate guide to writing robust and maintainable code in Java SE 9, 10, or 11. With hundreds of realistic examples, Cay Horstmann shows you how to achieve a deep understanding of the language and API, use JShell's new REPL, and apply key improvements to advanced techniques like concurrency and functional programming. Build cross-platform GUIs with the Swing toolkit and fully utilize multicore processors for better performance. Register your book for access to downloads, updates, and corrections.
Modern Java in Action book cover
Modern Java in Action
Lambdas, streams, functional and reactive programming
Raoul-Gabriel Urma - 2014-08-01
Goodreads Rating
Upgrade your skills and meet the challenges of modern applications head-on with "Modern Java in Action." This book connects the new features of the Java language with practical applications like microservices, reactive architectures, and streaming data. Using crystal-clear examples and attention to detail, it helps you master modern additions like the Streams API and Java Module System, learn new approaches to concurrency, and write code that's easier to maintain with functional concepts.
Java Performance book cover
Java Performance
The Definitive Guide
Scott Oaks - 2014-05-27
Goodreads Rating
Maximizing the performance of Java applications has never been more important in the current landscape of multicore machines and 64-bit operating systems. Java Performance: The Definitive Guide provides comprehensive guidance on the latest JVM features, including the G1 garbage collector and Java Flight Recorder, to optimize your application’s throughput and minimize pausing. Whether you’re a newcomer to Java or a seasoned developer, this guide will help you achieve the best performance possible.
Core Java SE 9 for the Impatient book cover
Core Java SE 9 for the Impatient
Cay S. Horstmann - 2014-01-09 (first published in 2013)
Goodreads Rating
Learn all about the latest enhancements and changes to Java SE 9 with Core Java SE 9 for the Impatient. Written by Cay S. Horstmann, author of the classic two-volume Core Java, this comprehensive guide offers practical insights and sample code to help you take advantage of new features like the "Project Jigsaw" module system and lambda expressions. Plus, with small chunks of information organized for quick access and easy understanding, you'll be able to navigate the changes with ease. Perfect for both beginners and experienced developers, this guide will help you write robust, efficient, and secure Java code.
Thinking in Java by Bruce Eckel
Beginning Programming with Java For Dummies by Barry Burd
Java Performance by Charlie Hunt
Test Driven by Lasse Koskela
The Well-Grounded Java Developer by Benjamin J Evans, Martijn Verburg
Head First Object-Oriented Analysis and Design by Brett D. McLaughlin
Java Generics and Collections by Maurice Naftalin
Spring in Action by Craig Walls
Java Puzzlers by Joshua Bloch / Neal Gafter Bloch / Gafter
Learn Java in One Day and Learn It Well by Jamie Chan
Optimizing Java by Benjamin J Evans, James Gough, Chris Newland
Java by Nathan Clark
Java Performance Companion by Charlie Hunt, Poonam Parhar, Bengt Rutisson, Monica Beckwith
Java Cookbook by Ian F. Darwin
Mastering Java Machine Learning by Uday Kamath
Refactoring by Martin Fowler
Systems Performance by Brendan Gregg
High-Performance Java Persistence by Vlad Mihalcea
Learn Java in 1 Day by Krishna Rungta
The Java Language Specification, Java SE 8 Edition by James Gosling
Java Programming by Yakov Fain
Think Java by Allen B. Downey
Java by Harvey M Deitel
Java For Dummies by Barry A. Burd
The Pragmatic Programmer by David Thomas
Java by Herbert Schildt, Danny Coward
Domain-Driven Design by Eric Evans
Release It! by Michael T. Nygard
Introduction to Java Programming and Data Structures, Comprehensive Version by Y. Daniel Liang
Functional Programming in Java by Venkat Subramaniam
Elegant Objects by Yegor Bugayenko
Java in a Nutshell by Benjamin J Evans
Java in 24 Hours, Sams Teach Yourself by Rogers Cadenhead
Mastering Lambdas by Maurice Naftalin
Core Java for the Impatient by Cay Horstmann
Java Deep Learning Projects by Rezaul Karim
Test-Driven Java Development by Viktor Farcic
RESTful Java with JAX-RS 2.0 by Bill Burke
Murach's Java Servlets and JSP Murach by Joel Murach
TCP/IP Sockets in Java by Kenneth L. Calvert
AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java by George F. Luger
Java Performance Tuning by Jack Shirazi
Java Network Programming by Elliotte Rusty Harold
Spring Boot in Action by Craig Walls
JavaScript by Douglas Crockford