Thursday, January 20, 2022

Top 20 Books Every Java Programmers Should Read [UPDATED]

Hello guys, Happy New Year. We are already in New Year and while I am busy making my goals, I am also looking back on what I have done in the last year. One of the things which I would like to share with you guys is some of the books I have read last year on Java and related technologies and will continue to read. This includes books on Modern Java, Spring, Hibernate, Object-oriented programming, Algorithms, Soft skills, Microservice, Groovy, Scala, Agile, and UML, etc. If you haven't read them yet, you can very well read them this year, depending on what technologies and programming languages you are going to learn.

Btw, one of the first books to read for Java programmers should still be the Effective Java 3rd Edition.  Even though, It was released last year and only covers changes on JDK 7, 8, and 9, it's still the best book to read on Java this year.

I know you might be thinking that Java 12 is due soon and we are talking about Java 9 but well, no book can cope with the 6-month cycle of Java releases and books like Effective Java never gets outdated because of their time-tested advice and practices.

I have been waiting for this book ever since Java 8 was released so I am very excited to finally read it last year If you haven't read it yet then I suggest you read this first thing, you will appreciate how much you have learned about coding in Modern Java using Lambdas, Stream, and Functional programming.

Even if you have read it once, I suggest you read it again because most of us read books casually at first glance and miss a lot of important details, well at least do, so when I read it again, I always find something new and exciting which I haven't noticed in my previous read.

Anyway, let's see my list of top 20 books you can read, well that's a lot but I am sure you have read a couple of them already.

20 Books Java Programmer Should read

Here is my list of 20 books that you can read. As I have said, Effective Java 3rd Edition should be the first one you should read but if you do get free time or decide to learn Java 11, Scala, Agile, or Algorithms then you can use this list to pick up a book or two.

1. Effective Java 3rd Edition

There should not be any surprise here, The Effective Java by Joshua Bloch is hands down the best Java book ever. A definite must-read book for Java programmers of any level of experience. You will learn so much about Java and its API than you won't imagine.

The fact that Joshua Bloch himself is the author of several key Java classes and API e.g. java.lang and Java Collection framework itself is enough to read this book, but his style is also awesome.

books java developers should read

You can read this book on a beach, while traveling, or just at your desk. It's simply awesome. There is no doubt that you would emerge as a better Java programmer after reading this book.

And the best thing is that a new edition of Effective Java is available now, which covers Java 7, 8, and 9. There can't be a better time to read this book.

2 Modern Java in Action

This is the new version of Manning's best-selling Java 8 book, Java 8 in Action. The book is revised to cover new and exciting changes made in Java 9 and Java 10 and I am hoping that they will keep this up-to-date every year to include changes from newer Java releases like Java 11 and Java 12, but for now, this is the best book to learn Modern Java.

best book for java developers to read

The book will teach you all the modern ways to code in Java, like lambdas, Stream, functional programming as well as reactive programming. Though, if you prefer online courses to books, I suggest you take a look at The Complete Java MasterClass course on Udemy, which was recently updated for Java 11.

3. Grokking Algorithms

This is another great book to read to improve your understanding of Algorithms. Even though it's very short in terms of its coverage of algorithms and data structures whatever is covered is very entertaining and useful. It gives a new life to the old concepts by co-relating with modern-day examples e.g. how Facebook might store its users.
best Algorithm books for programmers

In short, one of the must-read books for beginners who want to learn Algorithms, btw, if you need more suggestions, check out my list of Algorithms books here.

4. Building Microservices: Designing Fine-Grained Systems

Everyone is talking about Microservices but what are they? What is the main benefit of Microservice architecture over a monolithic one? This book answers all of those questions, I have yet to finish the book so I am going to read it in as well.

best Microservices books for programmers

5. Hibernate Tips

This is one of the most useful Java books from the last couple of years written by fellow blogger Thorben Jenson. This book provides 70 practical tips on Hibernate. If you use Hibernate then these tips are good to fill your knowledge gaps and if you decide to learn Hibernate, you can use this book to give your learning a new dimension.

Best book to learn Hibernate for experienced programmers

If you prefer online courses for learning along with books then I also suggest you check out Spring and Hibernate MasterClass from Udemy. You can get this course for just $10 on their flash sales which happens every month.

6. Soft Skills

One of the things which many programmers ignore is soft skills like email writing, focusing on career growth, and improving themselves. This is a great book from John Sonmez and If you feel that you have stuck in your career or want to give it a boost, this is the book you should read.

best soft skill books for programmers

Btw, If you need more recommendations on soft skills and career development books, check out my full list here.

7. Database Design for Mere Mortals

One of the old but good book on Database design. I love to find a good old book that is still relevant and this was the one. If you are interested in learning database design or want to improve your database modeling still this provides a good starting point. If you need more recommendations, please see my full list of database design books here.

best database design books for programmers

8. Clean Architecture

This is one of the good books I discovered last year. I am a big fan of Uncle Bob's writing, having read Clean Code and The Clean Coder already. These books talk more about getting your architecture right. It's one of its kind books and if you want to learn the pros and cons of different software architecture, this is the book to read.

best software architecture books for programmers

9. Making Java Groovy, by Ken Kousen

Last year, I got a chance to work on Groovy a little bit and this was the first book I read to learn Groovy. If you decide to learn Groovy, this book provides a good foundation from a Java programmer's perspective. It just gives you enough detail to bring you up to speed without giving you unnecessary detail which you might not understand at the start.

best Groovy books for Java programmers

10. Groovy in Action, Second Edition

This was the second book I read on Groovy last year. Even though Making Java Groovy is good to start with it's not comprehensive and once you learn the basics of groovy and write a couple of Groovy scripts, you need more detailed information and that's where this book rocks. If you are learning Groovy, you can also refer to this book.

best book to learn Groovy

11. TCP/IP Illustrated

One of the books which I least enjoyed but still found it very useful. I have yet to finish with this one but if you have to go deep on TCP/IP this is the book to read.

best book to learn TCP/IP protocol

12. UML Distilled by Martin Fowler

Last year, I had to write a couple of UML diagrams and this is the book I read to refresh my knowledge about UML. If you decide to learn UML, you can also check out this book.

best book to learn UML

13. The Art of Agile Development

I have been using Agile for quite some time but I still like to read books on Agile to refresh my knowledge and learn one or two new things. This one turned out to be a good book on Agile and even regular users of Agile can learn a thing or two from this book.

Best book to learn Agile

14. Essential Scrum

I have been playing the role of Scrum Master since last year and this was the book I read to get myself ready for the role. Scrum works great with the small, onshore team but it gets tricky when you need to manage a big team remotely, scattered around the world.

Best book to learn Scrum

This book provides all the tools and guidance you need to run Scrum meetings and how to become a ScrumMaster.

If you decide to become ScrumMaster, this is the book you should read. You can also take some of the online Scrum and Agile courses then I suggest you take a look at Scrum Fundamentals on Pluralsight.

15. Java Performance Companion

I had read a couple of Java performance tuning books before like The Definitive Guide to Java Performance, so I wasn't expecting much. My only goal was to learn about the G1 garbage collector which I learned from this book. If your focus is on Java Performance tuning, this book is a good starting point.

Best book to learn Java Performance Tuning

16. High-Performance Java Persistence

This was another great Hibernate book for senior Java developers. It's focused on improving the performance of Hibernate and JPA applications.  If you are serious to improve your knowledge about Hibernate in 2018, I suggest you read both Hibernate tips and this book. If you prefer online courses you can check out my recommended list of courses for learning Spring and Hibernate.

Best book to learn Java Persistence

17. Functional Programming in Scala

I tried to get my hand dirty with Scala last year but without much success. I read a book or two but didn't do enough practice to really learn Scala. One reason for that was I wasn't using it on any of my projects and there were more important things to focus on.

Anyway, if you decide to focus on Functional programming and Scala, you can check out this book. I might read it again if time permits.

Best books to learn functional programming in Scala

18. Scala for the Impatient

This was one more book on Scala which I looked at last year. I am a big of Cay S. Horstmann's writing, having read his several books e.g. Core Java Part 1 and II and Java SE 8 for the Really Impatient. This is a similar book that focuses on Scala. If you are learning Scala this is a good book to start with.

Best books to learn  Scala

19. SQL CookBook

SQL is my favorite technology and I am always looking for an interesting book on SQL. I found this one last year and am very happy to share it with you guys as well. This is a very hands-on book on SQL and teaches you a lot of nice tips about using SQL in different databases.

Read this book if you want to improve your SQL skills. You can also use these websites to learn SQL queries to further improve your SQL knowledge.

Best books to learn SQL

20. The Complete Software Developer's Career Guide

Last but not least, this is a great book for a very software developer. If you are serious about your career and want to take control of it.  This is the book you should read. John Sonmez of explains a lot of practical stuff in this book and Soft skills which I shared earlier.

Best books to take care of career development

That's all about the top 20 books Java developers can read I have read even more and a couple of more is already pending in my reading list,  but I am only listing 20 for your reference. You can read them too in your free time. Btw, the first book you should read should be the Effective Java 3rd Edition if you haven't read it yet if you have read it already, reading again will not hurt.

Other Java and Programming Articles you may like

Thanks for reading this article so far. If you like these books then please share them with your friends and colleagues. If you have any feedback or suggestion then please drop a note. If you like, you can also follow javarevisited on Twitter.


  1. Good list will target same in 2018.Thanks :)

  2. Very good list to start the year with! - Thank you!

  3. Thank you for including my "Making Java Groovy" book in your list. I wanted to let you know that last August, O'Reilly Media published my latest book, "Modern Java Recipes", . If you're interested in it, feel free to contact me at and I'll arrange to have a review copy sent to you.

  4. Hello Ken, First of all a big thanks for writing such a practical and hands-on book like "Making Java Groovy". It really help you to get start with Groovy in no time. Sure, I'll drop you a mail. Thanks