A collegue at work recommended this book.
I can make the following link in my experience
My C++ lecturer went to great pains to explain C++’s greatness in terms of OCF and having full control on the lifecycle of objects as well as make us understand how & when objects are created and destroyed. As well as the power of knowing the pitfalls of partial assignment and other cautionary tales I’m too busy to talk about here.
This book explains the Java side of that, whilst Java hides many of these things through garbage collection, interface and single inheritance, the book tells you Java’s side of the story when it comes to the more low level object management.