What books do you recommend for getting started in Java?  Given that Java allegedly promotes bad habits, do these books address this?  If there are such pitfalls in Java, I need to make sure I don't fall into them.

-- 
Jason Hsu <jhsu802701 at jasonhsu.com>