After doing some research for learning Java, I summarized some resources which might be useful for other guys. My strategy for learning a programming language is watching tutorials first, then reading books related to it.

I/Java Tutorials :

1/Java Tutorial for Complete Beginners

This is one of the best free Java course for beginners  I have ever attended. I would highly recommend it for anyone to start learning Java. The author of this tutorial is John Purcell, who has experienced over 14 years in Java developer position. He explains complicated things in simple way and make you understand it clearly. EXCELLENT COURSE ! YOU SHOULD TAKE THIS COURSE AND IT’S FREE ! It covers almost the basic knowledge in Java programming. It’s so easy and clear for new guys digging into Java. 2/Other resources : Here is the some other useful resources, you could take a look :

English :
Vietnamese:
 II/Java Books :
After reading valuable comments from many forums and blogs, these below books have the high recommend but they’re not FREE!!

Lets start learning. Fighting!!! It would be great if you recommend more useful tutorials and books. I will update this note. Hope it helps!