Hello guys, today, I am going to share some of the best Java books from the last a couple of years that you can read in 2019 to learn Java and related technology better.
The list includes books to learn Java 8, Java 9, Spring 5, Groovy, Scala, Hibernate, Spring, Agile, Scrum, microservices, algorithms, and other important stuff for Java developers. You don’t need to read all of the books — this list will give you some ideas about interesting books on the things you want to learn — but if you are a nerd like me and have some time to read books, particularly during a commute, then this is quite an interesting list to follow.
Here is my list of 20 books I read in last a couple of years, and you can very well read them in 2019, too. Effective Java 3rd Edition should be the first one you read in 2019, but if you do get free time, you can use this list to pick up a book or two.
1. Java 8 in Action
This is one of my carry-forward books from 2016. I have been reading this regularly throughout 2017 while learning JDK 8 features. If you haven’t read it yet or have yet to start with JDK 8, 2019 is a good time to read this book. If you need tutorials on Java 8, you can also check out the list of my favorite Java 8 tutorials here.
The book will teach you all the modern way to code in Java like lambdas, Stream, functional programming as well as reactive programming. Though, if you prefer online courses than books, I suggest you take a look at The Complete Java MasterClass course on Udemy, which was recently updated for Java 11.
2. Clean Architecture
This is one of the good books I discovered in 2017. 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 a one-of-a-kind book, and if you want to learn the pros and cons of different software architecture, this is the book to read.
3. Grokking Algorithms
This is another great book I read in 2017 and probably the best book of 2017. Even though it’s very short in terms of its coverage of algorithms and data structures, what is covered is very entertaining and useful.
It gives new life to old concepts by correlating with modern day examples, like how Facebook might store its users.
Btw, if your goal is to learn Data Structures and Algorithms then I also suggest you join a comprehensive online course like Data Structures and Algorithms: Deep Dive Using Java on Udemy
In short, it’s one of the must-read books for beginners who want to learn algorithms in 2019. And if you need more suggestions, check out my list of here.
4. Building Microservices: Designing Fine-Grained Systems
Everyone is talking about microservices, but what are they? What is the main benefit of microservices architectures over monolithic ones? This book answers all of those questions. I have to yet to finish the book, so I am going to read it in 2019as well.
5. Soft Skills
One thing 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 are stuck in your career or want to give it a boost in 2019, this is the book you should read.
6. Database Design for Mere Mortals
One of the oldest, but best books on database design out there, I love to find a good, old book that is still relevant. If you are interested in learning database design or want to improve your database modeling, this provides a good starting point. If you need more recommendations, please see my full list of database design books here.
7. Making Java Groovy
In 2017, I got a chance to work with Groovy a little bit, and this was the first book I read to learn it. If you decide to learn Groovy in 2019, this book provides a good foundation from a Java programmer’s perspective. It gives you just enough information to bring you up to speed without giving you unnecessary details that you might not understand at the start.
8. Groovy in Action, Second Edition
This was the second book I read on Groovy in 2017. 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. That’s where this book rocks. If you are learning Groovy in 2019, you can refer to this book.
9. TCP/IP Illustrated
This is one of the books I enjoyed least, but I still found it very useful. I have yet to finish with this one, but if you have to go deep into TCP/IP, this is the book to read.
10. UML Distilled
In 2017, 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 in 2019, you can check out this book, too.
11. Hibernate Tips
This is one of the most useful Java books from 2017 written by fellow blogger Thorben Janssen This book provides 70 practical tips for Hibernate. If you use Hibernate, then these tips are good to fill your knowledge gaps. and if you decide to learn Hibernate in 2019, you can use this book to give your knowledge a new dimension. Btw, if you like online courses, here is a list of some good Hibernate and JPA courses.
12. 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.
If you like courses, you can check out these free Agile and Scrum courses.
13. Essential Scrum
I played the role of Scrum Master in 2017, and this was the book I read to get myself ready for the role. Scrum works great with small, onshore team, but it gets tricky when you need to manage a big team remotely, scattered around the world.
This book provides all the tools and guidance you need to run Scrum meetings and how to become a Scrum Master. If you desire to become Scrum Master in 2019, this is the book you should read and if you like courses, you can check out these free Agile and Scrum courses.
14. Java Performance Companion
I have read a couple of Java performance tuning books in the past, like The Definitive Guide to Java Performance, so I wasn’t expecting much. My only goal was to learn about the G1 garbage collection, which I learned from this book. If your focus is on Java performance tuning in 2019, this book is a good starting point.
15. High-Performance Java Persistence
This was another leftover from 2016 that I finished in 2017. It’s another great book on Hibernate, focused on performance by @Vlad Mihalcea. If you are serious about improving your knowledge about Hibernate in 2019, I suggest you read both Hibernate Tips and this book.
In case you like, Vlad also has a couple of high performance hibernate training courses for experienced developers.
16. Functional Programming in Scala
I tried to get my hands dirty with Scala in 2017, 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 that 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 in 2019, you can check out this book. I might read it again in 2019 if time permits.
17. Scala for the Impatient
This is one more book on Scala that I looked at in 2017. I am a big of Cay S. Horstmann’s writing, having read his books like Core Java Part I and II and Java SE 8 for the Really Impatient.
This is a similar book that focuses on Scala. If you are learning Scala in 2019, this is the good book to start with, but if you like online courses you can also use these free courses 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 in 2017 and I am very happy to share it with you all as well.
This is a very hands-on book on SQL that teaches you a lot of nice tips about using SQL in different databases.
Read this book in 2019 if you want to improve your SQL skills. You can also use these free courses to learn SQL queries to further improve your SQL knowledge.
20. The Complete Software Developer’s Career Guide
Last but not least, this is a great book for every software developer. If you are serious about your career and want to take control of it in 2019, this is the book you should read. John Sonmez of SimpleProgrammer.com explains a lot of practical stuff in this book and Soft skill which I shared earlier.
That’s all about the top 20 books you can read in 2019. I have read even more, but I am only listing these 20 for your reference. If you have any other interesting book of last a couple of years which could be in this list then feel free to suggest them in response, I’ll then add them into this list to create a real mega list of books for Java Programmers.
Other Java and Programming Articles you may like
10 Things Java and Web Developer Should Learn in 2019
10 Testing Tools Java Developers Should Know
5 Frameworks Java Developers Should Learn in 2019
Finally, Java has var to declare Local Variables
10 Tools Java Developers uses in their day-to-day work
10 Data Structure and Algorithms Courses for Interviews
10 Tips to become a better Java developer in 2019
The 2019 DevOps RoadMap — Your Guide to become DevOps Engineer
Thanks for reading this article so far. If you like these books then please share 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.