I want to master the art of Java Programming. I have been with Java programming for the past two years but still i have some doubts in very basic concepts. I analysed the reason and found that my methodology of learning it was wrong. Can anybody suggest me a solid proven methodology to master it? Now i am able to write the java coding for any requirement but still not feeling comfortable and confident to takeup SCJP exams because of those rough patches in basics.
I suggest to buy an SCJP preparation book (or let your company buy it for you, if you can ). Those go well through the basics (inheritence, threading, etc.).
I had also programmed for ~two years before taking the exam, and I was really surprised after I went through the book, how many things I did not know, or know wrongly And as a consequence, I also realized, how little I know of C++.
I think you need learn Java more regularly. Read some famous book such as 《Thinking In Java》,and read carefully and slowly. Then you'll get the overview of Java and you'll have a map of Java world in your heart. My methodology is,sometimes you need run fast,sometimes you need walk slowly. You must know do right things at right time.
Programming and knowing Java syntax (i.e. SCJP exam) are two different things. If you are having problems understanding the basic concepts of Java programming, i.e. develop object oriented software an idea could be to brush up on the OO terms, such as inheritance, encapsulation, polymophy and so on. Any decent introductory book on Java should include a section about OO.
You could also brush up on Object Oriented Analysis and Design if that is where your having problems.
Taking the SCJP is "just" concerned with the language - not with programming.