I have done most of the topics in core java.But i feel for web development u have to do advanced java.Then struts then hibernate.I have heard that c# is almost same as core java(j2se)so shall i proceed with .net because i have heard its not that lengthy and u have to just focus on c# and asp.net framework.Can someone tell me in what way to proceed when starting .net or shall i continue with java? Given that i wish to search jobs within next 2-3 months.What should i proceed with? Topics like multithreading,generics,strings ,collections are covered.

C# and Java are almost identical languages - switching between them is easy.
.net is comparable with the Java API in function and scope, but differs totally in the details. They are both vast, take ages to learn a decebnt subset, but there's almost no specific knowledge that you can transfer from one to the other.

In reality, the big difference is that c#/.net is Windows, and Java is cross-platform (with various small reservations!).

Look at job ads for the kind of work you would like to do in the kind of companies you would like to work for, and see which is most common in thise cases.

Struts? Never used it in the over 15 years I've used Java professionally and no interest in starting.
Hibernate? .NET has similar functionality built in so you're going to need to learn something like it anyway.
Better learn JPA rather than Hibernate specific ways of doing things and you're a lot more flexible. And I'd hardly call that "advanced"...

Stop trying to draw a line somewhere and think that anything beyond that is "advanced" and therefore hard. It's not.
It's all just tools, and you need a set of tools to do your job.
Just like a screwdriver is not an "advanced" tool for a carpenter who's never used other than a saw and a hammer before, JPA is not an "advanced" tool for a Java programmer.
If you want "advanced" take a look at something like ADF or Spring Integration.

This article has been dead for over six months. Start a new discussion instead.