This is likely to catch a lot of people off-guard, and cause all kinds of problems, but not if they read this book first. Various string issues appear, including operator precedence, conversion, characters, and so on. Chapter ten covers a favorite topic of mine, exception handling. Exceptions have to be one of the greatest features ever. They can potentially make code so much more understandable and robust that it is a minor miracle that all languages don't have them.
Threads are always a hard topic.
Understanding them shouldn't be too bad, but they are so tricky to use, when there are shared resources. This gives rise to the coincident topic of synchronization. Java seems to have a very good selection of primitives to handle these. They are just much cleaner. It hits a little on everything, but has no time for real depth.