a few remarks, though:
it's a very good thing that you are motivated to study, but: with start to end ? when you start learning programming: there is no end. there 'll always be a new framework, a new version of the language, ... except if you choose a language that isn't being changed anymore. if that's the case, sooner or later you'll need to take on another language.
so, don't rush into it. take your time. to learn the basics of Java (just the basics) it'll take about a year of learning, repeating, practicing, and, where the most effort goes into: understanding it. once the base is there, then you can think of going further. don't expect to be a senior developer within the next few years.
the thread James points to is very good. but, an (additional) word to the wise:
there are very much good sources and tutorials out there, and also very much free sources and tutorials. but, make no mistake: very few are both free AND good.