The table of contents is deceptive, because all of the important optimization topics are covered, including the Java-specific ones. The problem is, most of these topics are not covered in any depth beyond a simple introduction. I like terse books and believe most books about computers these days are way too fat; my hats are off to Addison Wesley for controlling that tendency with well edited books in this series. This book is thin at 230 pages, but unfortunately, a lot of that is filler of the "let me tell you what I'm going to tell you, tell you, and then tell you what I told you variety.
The advice is generally sound, such as "use a profiler to decide what to optimize", but all too often the advice stops there. One learns that linked lists are fast for deletes and array lists are fast for random access. But what if neither has the performance characteristics you need?
I would recommend Jon Bentley's "Programming Pearls" for someone who really wants to get a feel for optimization through a number of tight case studies. The examples may be C, but they're insightful and more applicable to the problems you're likely to face than the ones encountered when writing the Swing or Collections classes themselves. Then go out and use a serious optimizer like Quantify, which is essentially what the authors of this book suggest. At that point, you'll wonder why the authors stopped their review of Collections with Sun's built-in implementations.
The code for running mulitple programs and controlling class loading in Chapter 6, though I have not tried it, is interesting and something I'd not seen elsewhere. Other diversions, such as timers and threading in Swing are covered elsewhere. What would have been helpful is a detailed look at debugging threading performance, say through object, resource or thread pooling (an idea dismissed earlier for "small objects").
One glaring omission is a serious micro-benchmarking of basic operations. I found the comparison of speed when using final vs. non-final classes or methods to be startling in practice, and numbers here would help. Similarly, access times for hash tables vs. arrays, simple object construction times, floating point vs. integer arithmetic times, object variable vs. local variable access, etc. There are some wonderful micro-benchmark applets on the web with this functionality. What you'll learn is that up-casting takes forever, so any use of built-in collections/iterators for performance-critical operations will do you in.
I found the constant sales pitch for the Sun HotSpot (TM) Virtual Machine a bit tiring. It concludes with a recapitulation of the marketing materials in Appendix B. It is alternately described as "highly optimized", "state-of-the-art", having a "superior memory allocator", "ultra-fast", having "excellent multiprocessor performance characteristics", having "agressive inlining", having "excellent paging", etc. etc. The appendix devoted to HotSpot (TM) is particularly noteworty for its omission of any profiling information!