I just bought and read Jim Waldo's "Java The Good Parts". (ISBN 978-0-596-80373-5)
It is a very interesting book that gives you insight in what happens under the surface. This is not a book about learning how to program in Java. It is rather a book for those who have at least some experience of programing, preferable in Java, and I think that even those who have used Java a lot can find this book interesting. The book discuss how Java is built, why things are like they are, why there is a benefit in using interfaces, packages and so on. I can warmly recommend you to read it.