And like JIAN, there is a good amount of reference material in this book, not with the extended detail of JIAN, but enough to get by most of the stumbling stones one encounters while programming.
As a student, I can only carry so many books in my backpack; when I'm programming in the university labs, I want concise and useful as my qualities. At home, I have my Java reference library (CJ, JIAN, etc.), which I consult when I'm at a quandary; for portability and my lab work, this book is the Swiss Army knife of references, one that I carry regularly, and one that can solve about 75-80% of Java problems I encounter.
It also covers some Java libraries and briefly outlays applets. There does not seem to be any coverage of servlets or server-side programming.
As good a reference as it is, it seems to be missing some things, most notably initializations. There are pieces of Java code I've seen something like:
subr1(new Foobar {blah(){foo;} blah1(){bar;}});
i.e., a class (Foobar) is being initialized dynamically before calling a function subr1(). The exact circumstances of initialization of variables and dynamic classes are not covered at all in this book.
Other than that, this book is great.
A programmer's ability to reference the Java language from multiple angles beyond an ordinary index makes this book a powerful programming tool. With Java 2 In Plain English at your side, you can immediately solve Java programming problems with the strength of a relational database instead of a simple index!