I'm fairly new at programming, although I have an understanding of all of the basic concepts and am very quick to pick up new ones. I have Visual Studio 2002, and I know some VB.net and C#. I'm interested in learning Java, and I was wondering how I should start. Maybe you know of some good free "Teach yourself in 21 days"-type resources, and any recommendations on compilers or IDEs would be good as well. Keep in mind that the word "Free" is quite the opposite of a four letter word in my vocabulary, as funding is rather limited. Thank you for your help!