The backcover blurb describes van der Linden as "[w]riting for real programmers". It's fair to say that if you have no programming experience, this book may be a little dense for you.
However, that's not to say it's obscure. I am not an experienced programmer and I found it useful. It starts off with an overview of the features of Java, then concisely explains object orientation and other basic Java features such as packages and threading in the first dozen chapters.
van der Linden frequently draws comparisons with how things work in C/C++, which is presumably more helpful for those with experience in those languages. However, I didn't find this too offputting as it often illuminates what difficulties Java is designed to overcome. There are frequent illustrations and boxouts to aid comprehension - a typical title is "What problems do interfaces solve?".
The rest of the book covers major APIs, GUI programming and more advanced topics such as using XML, SQL and JavaBeans. It seems to offer a fairly comprehensive guide to Java and you could probably teach yourself to a high level with this book.
I enjoyed the "Light Relief" sections at the end of each chapter, which introduce entertaining Java programs and topics such as rigging online polls with Java! There is also wry commentary on the software business.
The book is accompanied by a CD-ROM with source code, many good example programs and some more light relief material. Unfortunately, although the 5th edition text covers the latest JDK (1.4), some of the programs do not seem to run using this environment, which could disappoint beginners. I was surprised that the disk did not include the latest JRE (particularly since this seems to be an official Sun book) but does include other tools such as the GNU C++ compiler!
There are brief exercises at the end of some chapters which are enough to test your comprehension (I found I needed to re-read some of the more theoretical chapters), although there are no answers provided.
In summary, I would recommend this book for those with a little (or a lot) of coding experience who want to learn Java in depth, but not as an introduction to programming in general.