this book is one of a kind, among all the java books on the market. it breaks the java language into 5 (progressive) layers, and gives the abstract syntax, static semantic (type constraints), dynamic semantic (interpretation), and complitation rules of each layer. This approach is effective, mathematically rigorous, and believe or not, fun to read!
as most of the PL books with formal flavor, the notations take some time to get use to. but the rewarding is worth the effort: you get a very clear picture of language itself. the examples are quite interesting, and the software on the CD does a superb job animating the intrepretation of java programs.
all in all, a very good (academic) book, perfect for computer scientists or CS major graduate student interested in PL, but probably not for everyday programmers.