The java tutorials are a good place to start.

As for books: Bruce Eckel's Thinking in Java is good and freely available on this site. It's a little out of date in some areas now but still a good guide when starting out.