This is the second volume of a book that I reviewed earlier. It is only just over a thousand pages. Most of these are solid pages of the public and protected interfaces of 22 packages that the book covers. Yes, there are some examples in the first third of the book, but they are the kind of example that only genuinely helps those who are fairly familiar with the material already.
The thing that depresses me about this book and its companion volume was that Java was originally described as a language that was substantially smaller than C++. That it is not the fault of the authors of this book. They have done the Java programming community a great service by placing so much at their fingertips.
The publishers should be thanked for keeping the price down (particularly as I suspect that in a couple of years time they will have to be replaced) and if you need this kind of information you now know where to get it.
Do I recommend it? Well it is rather like asking if I recommend a dictionary. Of course I do, and if there is only one available it at least simplifies the choice. So, yes, I recommend this to professional Java programmers while wishing that the language (well the library element) would stabilise.