To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.
I used this book, along with the authors previous 1Z0-815 study guide, to pass the exam and obtain a Java 11 OCP certification. It's a hard exam but the authors tell you all the tips and trick you need to look out for to pass. Overall, though, it's just a really solid Java book. I recommend reading it even if you don't take the exam!
Because it's the only book on the market, having something is better than having nothing. But at the same time, this book is very rushed, and poorly explains a number of extremely important concepts (skipping over some EXTREMELY important concepts to tie some chapters together, or because that concept isn’t explicitly listed as questioned on the exam), and other times basically just re-iterating the JavaDocs word for word with no further explanation of a concept. Also be aware, there are a number of mistakes in this book including syntax errors and missing exception signatures on methods to name a few.
The result is a very choppy book with massive gaps. There are times in the book where it literally just tells you how to code something, with no explanation of why, or how it would be useful. A great example of this is module services. The text spends 5 pages describing how to create a module service, but never actually says where something like this would actually be useful.
Other chapters will use concepts that aren't introduced until pages or chapters later but expect you to understand how the code runs. A great example of this is in the concurrency chapter (one of the most difficult in the exam). There are a number of examples using Future<T> near the beginning that are imperative to understand, but the concept of futures isn't introduced until half way through. So I found myself going forward and back A LOT through this book making actually learning the concepts very difficult.
Other chapters just completely skip over very important parts. The java security chapter is very short in the book, and skips over basically everything from the Oracle secure coding guide (https://www.oracle.com/java/technologies/javase/seccodeguide.html) which 90% of the security questions come from. Another example of this in the security chapter is AccessController and its doPrivileged methods. This is never mentioned but pops up very frequently.
I get that it's on the reader to find supplemental material to reinforce the concepts, but in many cases I would go learn the full chapters worth of material elsewhere (java docs) just because I never knew what important parts this book decided to leave out.
Overall, it’s better than nothing but subpar to barely average at best.