This is one of the good links I got with java. I started with Starting out with Java by Tony Gaddis. Its pretty good book. The English is pretty simple and straight. I have used that book since beginning and still use it. The book teaches you java as if you were a 7 grade kid. Some people have criticized the book for it but coming from non-english speaking region, it has helped me quite a lot. And it covers most of the basics of java. If you can solve each and every programming exercise in this text book, you will be pretty good at programming. Thats how I sharpened my programming skill. You have to realize there is no shortcuts for learning.
Another resource I have used is
yet another insignificant Programming Notes
This also has everything from simple to advanced topics in java.
Hope this helps