I got to read and to get up to date with Java by reading The Java Programming Language Third Edition book by Arnold, Gosling and Holmes.
Reading the book is slightly more interesting than reading the phone book. There's a lot of useful information there. I can't say that the book is very productive for reading cover-to-cover (time will tell). However, I'm pretty sure that it will pay off as a useful reference book.
I didn't find the book as useful or as well written as the K&R book for C (The C Programming Language), possibly due to the vast differences between C and Java.
I'd be happy to get recommendations for good Java programming and design book for Java implementation.