Take your skills to the next level!
The Persistence Hub is the place to be for every Java developer. It gives you access to all my premium video courses, 2 monthly Q&A calls, monthly coding challenges, a community of like-minded developers, and regular expert sessions.
Quick ReviewJoshua Bloch does an amazing job explaining best practices and providing detailed insights into how and when to use the different Java features. Effective Java is a must-read for every professional Java developer. 5 out of 5 stars!
Who should read this bookEvery professional Java developer who wants to write efficient and maintainable Java code.
Detailed ReviewYou can get a lot of books about Java, and several of them do a good job explaining the different language features. But as a professional developer, you know that this is just the first step. There is a huge difference between knowing a feature and understanding when and how to use it to build an efficient and maintainable application. If you read the previous editions of Joshua Bloch’s book Effective Java, you know that he did a great job explaining best practices and showing how to write readable and maintainable code. That doesn’t change with the 3rd edition which he updated to include the features and paradigms introduced in Java 7, 8 and 9. Especially the chapters about interface design, generics and lambdas are a must-read for every Java developer.
Detailed And Specific Advice In 90 ItemsOver the last 2 weeks, I read the book from cover to cover, and I highly recommend you do the same. It was entertaining and highly educating. But you don’t have to take this approach. The book consists of 90 items, and you can read one of them if you’re looking for specific advice. Each item can stand on its own and provides detailed explanations of a specific Java feature, how to use it and when to prefer a different solution. This structure makes the book easy to use and extremely helpful in your daily work. Like the previous edition, this book will become one of my go-to references if I need advise to implement a complex task or to design a new API. I’m sure I will reread some of the more advanced items about lambdas and generics shortly. Here’s a list of the main chapters which thematically group the 90 items:
- Creating and destroying objects
- Methods common to all objects
- Classes and interfaces
- Enums and annotations
- Lambdas and Streams
- General programming