A Reading List for Java Programmers

If you are learning Java and wondering what to read in 2020, you have come to the right place.

Below are my top 10 books on Java; I also strongly recommend to learn Java by practicing a lot).

I’ve included books for experienced Java developers, who are more inclined to learn architectural things by developing for the cloud, micro-service, Java, and Spring 5 features.


I am a big fan of reading, and my passion for books continued when I became a junior programmer.

The first book on Java that I read, besides college textbooks, was Head First Design Pattern – the book completely changed my understanding of Java and object-oriented programming in particular.

Up until now, I did not understand the real use of an interface. To me, it looked useless because you can’t write code or do anything there.

After reading the book, I realized how amazing they are in terms of reducing the connection between different parts of your program. From that moment on, I have read many books on programming, mostly related to Java.

Today I am going to share the top 10 Java books that every Java developer should read. Even though some knowledge is outdated, most of the things you learn will help you build on your experience and help develop your career. By the way, I will not get paid if you buy any of these books or any of my recommended courses.

Must-Read Books for Java Programmers

There are many good books that you can read in 2020 to improve your knowledge and skills in Java. Although it is almost impossible to read them all, at the same time, there are certain books that you do not want to miss out on. Let’s have a look:

1. Effective Java: 3rd Edition

That should be the first book you buy in 2020 if you haven’t already read it. The third Edition is long overdue. This new Edition covers JDK 7, 8, and 9.

“It is the best gift for Java developers,” according to Yeshua Bloch.

It only took me a week or so to read this book, but I found that I’m learned a few new things, especially with regards to Java SE 8 and Java 9.

I learned more about the modularity of Java by reading this book. It also helped me get rid of a couple of misconceptions that I had about Java 8 features.

2. Modern Java Recipes

If you like recipe books, this one is a good read. As the title says, it contains simple solutions to complex problems in both Java 8 and 9.

You will learn a lot about how to write code using idioms of Java 8 as lambda expressions, method reference, and Stream API.

If you want to learn Java 8 and 9 with tutorials and examples, this is the perfect book to read.

3. Java 9 Modularity

One of the Java 9 features was the Java Modularity or Java Module, so this book, I think, provides the most comprehensive coverage of the subject, and the author – Sanders Mac – is a real authority.

I’m sure that you will be satisfied with the book.

4. Core Java SE 9 for the Impatient – Second Edition

If you are in a hurry to learn Java, I highly recommend this book. I’m a big fan of Cay S. Horstman’s work and the amount of detail he outlines in this book.

After reading his other books on Java 8, Scala, and Core Java, I can say that you will become more of a fan after reading this book.

It has been recently updated to cover the features of Java SE 9. And if you are interested to learn Java 9, this is the first book that you should read in 2020.

5. Beginning Java 8 Language Features

Even though almost four years have passed since Java SE 8 was released, many Java developers have not yet started working with Java 8.

So if you’re the one fighting to understand lambda expressions, Stream API, Optional, and other Java 8 improvements, then you should check out this book.

It’s a collection of three books that straightforwardly explain the basics of Java 8.

The other two books focus on the more advanced subject of Java 8, such as JDBC, Swing, Java FX, and Java Networking API.

6. Spring Microservices in Action


The microservice architecture is on the rise, so if you want to learn about developing microservices, using the Spring Framework, this book is for you.

7. Clean Architecture

Clean Architecture is one of the books I read in 2017, and I enjoyed it. I’m a big fan of Robert C. Martin’s books, and I have to say that this book completes the “Code Pure” trilogy.

The book tells you how to create a software architecture that can stand the test of time. It also eliminates misconceptions about design templates and software architecture.

So, if you are thinking of becoming a solution architect, this is the book you should read in 2020.

8. Spring in Action – Fifth Edition

Spring in Action 5th Edition is vital because it introduces reactive programming functions in the spring.

Since spring is undoubtedly the most popular framework for Java development, this book is worth reading to see what’s new and keep yourself informed.

I like Recipe books because of their approach to solving problems, and that’s why I chose this book, among other books about Spring 5.

It covers not only the new features of Spring 5 but also all other improvements made on earlier versions. It teaches how to program Spring 5.

9. Kotlin in Action

Usually, Java developers are busy learning other JVM languages such as Scala, Groovy, and Closure to become PolyGlot programmers. Kotlin is leading the pack at the moment.

In 2017, Google announced Kotlin as the official language for the development of Android in Google IO – since then, there has been a great interest in learning Kotlin.

Although it mainly offers performance advantages and is 100% Java, if you want to learn the JVM language in 2020, I would say learn Kotlin.

10. Java: A Beginner’s Guide – Seventh Edition

That is another classic book to study the Java kernel from scratch. The seventh edition of this book has already been published and was updated to cover Java SE 9.

If you decided to start (or continue) your career as a programmer with Java in 2020 – read this book to learn the latest version of Java.

That is a more comprehensive book than the second book on this list, which also covers Java 9.

11. Bonus Book on The List: Cloud Native Java

As a bonus, I have shared this book. It is one of the most useful Java books of 2020: “Cloud Native Java.”

Today’s software development is all about the cloud, microservices, distributed architecture.

In this practical guide, Josh Long and Kenny Bastani show Java/JVM developers on how to create better and faster Java applications using Spring Boot, Spring Cloud, and Cloud Foundry.

This book is a must-have for experienced Java programmers. Although the book is dedicated to an advanced developer, I strongly recommend it to every Java developer.

To sum up

These were some of the most interesting and useful books that Java developers can read in 2020.

Honestly, there is always something to learn – Java 9, Spring 5, microservices, Kotlin, etc. These books will not only give you relevant knowledge but will also improve your understanding of Java features.


Author’s bio: Dmitrii B. is the founder of GRIN tech – full service & white-label agency.

About Author