Java is huge and not that easy. So, it is important to have a plan and start slowly, pick certain topics which you are interested and keep improving.
Above all, the most significant thing here is to START
Before you get into big topics. I think its important for you to have a deeper understanding about these concepts below:
Try to understand them clearly, debug if necessary.
I am a software engineer intern, I am giving my best with what I have. Hope this helps. This was my strategy, worked pretty well for me.
Algorithms and Data Structures (Collections frame work):
This topic is very important and its not only about Java, to evolve as a good programmer, you should get better in algorithms and data structures. This is necessary, you don’t have to be the winner of top programming competitions like Topcoder or HakerRank (awesome, if you already are). But explore, have some basic understanding. Again, this is very important.
Although you can completely make use (import) of Collections framework in Java, I strongly recommend that you write your own collections framework, as I am doing it @ .
Understanding what object oriented design is fundamentally?
What is an object, class, interface, abstract class, inheritance, polymorphism, constructor, operator overloading, method overriding, static keyword, final keyword, this keyword, super keyword, Generics, Iterator, etc.
I know, immediately we want to read them online and try to understand and remember them. Trust me, this will not work. You must write your own code and use each and every concept to understand them and remember for your whole life.
What we learn with pleasure we never forget – Alfred Mercier
The only way to understand things is by practically implementinig them. Rest is like self-cheating 🙂
Lets dive into JavaEE:
Java is immensely popular for web programming and @. It is the most popular and the best programming languages for server-side programming.
Start with simple servlet programming.
1. Install eclipse and tomcat server.
2. Develop a simple servlet, one servlet with simple index.html page.
3. Now, replace that index.html with a simple JSP page.
4. Try to connect to a database.
I think understanding servlets and jsp’s are crucial to excel in Java web programming. Without servlets, you cannot understand bigger concepts (frameworks) in Java like Structs, Hibernate, Spring etc. Essentially these frameworks are built on servlets. Trust me, they made our life way more easy, thanks (from bottom of my heart) to all of them who built everything for us 🙂
Web Frameworks = Design patterns + Servlets + Other concepts
Some of the concepts in Java like Swings, Multi-threading, Networking, Java Messaging Services etc are very important for you to evolve as a good Java Engineer.
Let me stop here, I covered the two major components of Java (web & collections). Remember, Java is huge, there is a lot to program in Java. Therefore, pay more attention, learn each concept with utmost deligence. I will suggest some of the links below which helped me a lot.
1. Learn CORE JAVA (Murach Programming)
2. Data Structures and Algorithms ( )
3. Java EE 7 Essentials – o’reilly
4. Java Concurrency in Practice – by Brian Goetz
1. Servlets & JSP ( )
2. Struts ( )
3. Hibernate ( )
4. Springs ( )
5. JAX-RS Restful Services ( )
6. Soap ( )
All the best!!