Yes this is a question to be discussed before the start.
There are many books, many online tutorials, videos, lecture notes and all which promises to teach you different aspects of JAVA. GL has also provided me with an awesome teacher but to be true I dont even get a single word of what he says. Actually, I could never match my frequencies with teachers and now I have 12+4 years experience of this.
Thus, I finally Googled and came to the following conclusion:
In some forum somebody recommended this link to go through basics of JAVA (like the syntax of JAVA)
OR use the official crap available at
And then make your own codes. Deploy yourself into hypothetical projects and learn JAVA in your Research Projects.
So this is some of the thing I am thinking of developing using so called JAVA:
Multi-threaded Internet game
Chat Portal (like Omegle idk)
Online Cart System
And if anything more would be required, we can give it a look..