Sunday, March 8, 2020

10 Advanced Java Books for Experienced Java Developers

If you think you have read all the essential books on Java and don't have anything new to read, then hang on. Java is changing continuously, now Java 9 is on the way, but more importantly, it has already changed a lot in last 5 to 6 years with significant releases like Java 8 and some useful features introduced in Java 7. Not only, the language is changing but also the Java virtual machine, Garbage collector, and other tools involved in Java development is changing; hence, it is now a right time to look at some of the newer Java books which are released in last 5 years to learn new features and tools of Java. Since I often receive emails and Facebook messages about some good books from reading on Java, I thought to jot down books I have read in the last couple of years.

Even though the classics like Effective Java and Java Concurrency in Practice is still relevant for learning good programming practices and fundamentals of multithreading and concurrency, you should also look now to future and embrace the new style of Java coding introduced in Java 8 and learn various features like lambdas, stream, JDK 7 enhancements, G1 garbage collector and JVM performance improvements done in last 5 years.

In this article, I'll share some of the best Java books from the last 5 years for experienced Java programmers. The list includes books from various aspects of Java e.g. Java 8, performance, multi-threading, collections, JVM internals, programming interview preparation, Spring Framework, Spring Boot, Hibernate, JPA, etc.

Though it mostly contains advanced level books for Java programmers having 2 to 5 years of experience, even Java beginners with 1 to 2 years of experience may find some book worth reading like Cracking the Coding Interview or Java 8 in Action. Btw, if you like courses, you can also check out The Complete Java Masterclass to fill gaps in your core Java knowledge.





10 Best books for Experienced Java Programmers

Here is my collection of some of the best books for experienced Java programmers. The list contains books on Java 8, Advanced Object-Oriented programming, Spring, Spring Boot, Hibernate, Java Performance, Design Patterns, and programming job interviews.

You might have read some of the books already which you can obviously skip but I am sure you would something you haven't read so far and enjoy reading it again and again.

I have tried to collect some of the best books for advanced Java programmers from the last 5 years, but If you think there is an excellent book that I should read and include in this list, then feel free to suggest.


1) Java Performance Companion

This is another excellent book on Java performance which I have recently finished. You will find the most up-to-date information about JVM, Garbage collector, and other Java performance tools, practices, etc. It covers the G1 garbage collector in good detail as well.

It is written by Charlie Hunt and Monica Beckwith, Charlie is author of another of my favorite Java book, Java Performance. If you want, you can also combine this book with the Java Application Performance and Memory Management course on Udemy for some hands-on guidance.




3) Head First Design Pattern

This has been my favorite book for a long time, and recently they released a slightly updated version to cover Java 8. You will learn how you can implement a couple of tried and tested design patterns using new features of Java 8.

If you need a course for more in-person guidance, I suggest you join the Design Patterns in Java course by Dmitri. One of the best courses to discovering modern implementation of classic design patterns in Java using a lambda expression, Stream and other modern features.




4) Spring Boot in Action by Craig Walls

Spring Boot has made using the Spring framework even easier, and that's why it is becoming more and more popular day by day. If you are using Spring Boot in your project or have a plan to use it, then this is the book you should read.

Even if you are not planning to use the Spring book, you can read this book to learn this excellent new framework. If you need a course to combine this book, I suggest you check out Microservices With Spring Boot and Spring Cloud course by fellow Java blogger and architect Ranga Rao Karnam.





5) High-Performance Java Persistence

This book is written by fellow blogger Vlad Mihalcea, who is also the authority on the Hibernate world. It is an excellent book on how to write a high-performance Java application persistence layer using JPA and Hibernate. If you are working on real-world hibernate projects where performance is a real concern, then you should read this book. If you need some courses to practice along with this book you can check them on my list of Hibernate and JPA courses.




7) Elegant Objects

This is another interesting book I read in recent years. It contains 30 practical tips on object-oriented programming to prevent your code from turning evil, as the author would put it. You may not agree with what the author says everything about OOP, but the book is thought-provoking and gives you a new insight into object-oriented programming and design.




7) Cracking the Coding Interview: 189 Programming Questions

This is the must-read book if you are preparing for Java programming interviews. It contains frequently asked questions on all programming topics, which are essential from the Interview point of view. You will find questions on data structure and algorithms, Java, SQL, system design, networking, and even soft skills.

The book is written by  Gayle Laakmann McDowell, who has extensive experience in recruiting at tech giants like Apple, Google, and Amazon, and writing books to help candidates looking for a job. If you need a course, check out Grokking the Coding Interview: Patterns for Coding Questions on Educative. It will help you to learn patterns on which coding problems are based upon.




8) Hibernate Tips: More than 70 solutions to common Hibernate problems

This is another practical book written by another fellow blogger Thorben Janssen. It is recently released a couple of weeks back. It contains 70 useful Hibernate tips that every experienced Java developer using Hibernate will appreciate. You might know some of the suggestions already, but you will definitely find a couple of new ones which you have never heard about.




9) Java Performance: The Definitive Guide

This is the book I read a couple of years back after Java 7 was released, but I still like to refer it. It is a seriously good book if you want to learn about JVM internals, Java, and GC performance tuning and some of the Java features which can impact performance.

If you haven't read this book yet, then you should read it now. If you need a course to accompany this book, I suggest you join Java Multithreading, Concurrency & Performance Optimization course on Udemy, one of the best courses for experienced Java developers.



9) Java 8 in Action

This is one of the best books I have read in recent times on core Java. It covers almost all new features introduced in Java SE 8 release like lambda expression, streams, method reference, and new Date and Time API. Since every Java developer has to learn Java 8 sooner or later, I highly recommend reading this book if you haven't read it yet. If you want, you can combine this book with this list of courses to learn all new features between Java 8 to Java 13.





10) Spring in Action

This is an updated version of the old Spring in Action book, which covers Spring 4. If you want to learn how to make use of annotation on Spring projects and want to learn all new features and improvements, then this is the book to read. If you like courses, I strongly suggest you combine this book with the Spring Framework 5: Beginner to Guru course by John Thomson on Udemy.




That's all about some of the best Java books of the last 5 years, which you can read to learn Java programming language, JVM, Spring, and Hibernate. This list is by no means complete, and If you have a book which you recently read and find it great, feel free to suggest in the comments section, and I'll include it in the list. The books are useful for both beginners and experienced Java developers, but senior programmers will benefit from this list.


Other Java And Programming Articles You may like to explore

Thanks for reading this article so far. If you like this list of books, then please share it with your friends and colleagues. If you have any questions, feedback, or suggestion, then please drop a comment here. If you have any book on Java and related technology, which you find great but not in this list, please suggest in comments. 

P. S. - If you are just starting with Java and looking for some of the best courses to kick-start your Java journey then you can also check out this list of best Core Java courses for both beginners and experienced programmers. 

No comments :

Post a Comment