As an experienced C++ developer migrating to Java, I have looked at many Java texts, both introductory and more advanced. Some, such as "Java in a nutshell", I have found to be frustratingly bland, doing little more than summarising the main features of the language, and perhaps briefly commenting on differences from other languages such as C++. However, within five minutes of opening this book, I realised that I had found a book which comes very close to the ideal. As well as a clear description of core concepts, it is full of useful tips for migrating programmers -- especially those familiar with C++ -- and almost without fail the authors managed to anticipate the questions I wanted to ask, and provided the answers I needed. The authors should be congratulated on an excellent achievement.