I have an internship coming up in a month. I am required to code in java then. I had absolutely no idea about how to program in Java. I read the Oracle tutorials and found them pretty helpful.<p>Other than plain Java, I also need to learn about a bunch of other technologies like servlets, spring, JPA, etc. The tutorials, blog posts, etc I found related to these technologies use a lot of design pattern-y and Language full of abstraction. I'm not able to grasp how I should go about learning these things.<p>I started with spring yesterday, but the blog posts delve directly into vague topics and design patterns that I cannot wrap my head on. How should I proceed in learning these things?
Deep breaths, all is well :)<p>Modern Java is a pretty decent language. Servlets, spring, JPA; and the rest of the enterprise mumbo-jumbo is mostly over-engineered crap. Same goes for design patterns, they don't even come close to pulling their own weight. I suggest focusing on learning core Java 8, and leaving the enterprise crap to the enterprise. You will learn whatever you have to learn once you're there, filling your brain with bullshit and buzzwords ahead of time isn't going to help. At least that's my take home from 32 years in software, including several years of Java consulting.<p>Good luck!
First learning the basics and then creating some projects for fun might help get you the confidence you are looking for. Good luck! And kudos for getting an internship that will open a whole lot of doors. I'm a bit jealous.<p>Re: Java 8, it's awesome!<p>SomeCollection.stream().filter(lambda ...).map(lambda... etc is just so cool.
An intern is not expected to perform like a person with years of experience. An intern is at the start of their career and is expected to learn.<p>The list of Java topics is long enough that even someone with many years of experience may have only passing familiarity with some of them.<p>Finally, if a company has unrealistic expectations there is nothing you can do about it. On the other hand, realistic expectations regarding your own knowledge might be possible;
<a href="http://norvig.com/21-days.html" rel="nofollow">http://norvig.com/21-days.html</a><p>Good luck.