A good guide for people who are at beginner or intermediate level in Java. Nice explanations and the book keeps a light atmosphere. But I would recommend to supplement this book with other topic wise books.
If you want to understand the basics of Java irrespective of whether you are a "Novice" developer or an "Expert" developer, this is the book. The variations and the details for each of the concept is brilliant.
I used this book to learn for exam 1Z0-808 (which is Java 8, not Java 7). The book is full of humour and good to understand for a Java beginner, although it is useful to have some common programming knowledge already.