Java is one of the most common 
language , popular for long time. Also newly improving .NET platform 
which is now a days most basic requirement of each and every company is 
beating it specially in the line of Web Applications.
Although JSP (Java Server Pages) is easier and lot more simpler but 
ASP.NET is far better in security, robustness and performance. Well this
 is the reason why most of the companies are switching towards .NET 
platform. I really feel the main progress in .NET platform is its 
improving Visual Studio performance. If you compare the IDEs for both, 
Visual Studio (for .NET) and Netbeans (for Java) , you will find Coding 
in Visual Studio is far more easier to do. Although Netbeans is more 
famous as it is open source and most of the coders (specially at college
 level) are habitual of it.
Visual Studio is difficult to operate as it needs your knowledge of  
HTML, C#, XML etc is really easy for professional to use it in the best 
way. But still if you how to operate it , you will be doing far better 
and more performance oriented programing in it. Netbeans need skills and
 experience.Also with the enhancement of Visual Source Safe Visual 
Studio gives more better working environment at company level where you 
could change the codes in your own system with same codes are being 
changed on other system to, in the end all can check in there codes 
merging with each other. Such features are still missing in Netbeans and
 we need to use Visual Source Safe from outside for Netbeans. But still 
the it doesn't give such facility where you could just focus on coding 
and avoid other code missing things and what other is coding. Work is 
divided far better in Visual Studio.
One of the best benefit of developing application in .NET is that you
 will be  going to develop an Windows Platform Application. It will not 
be like C, CPP program where you  need to test it through MS DOS or any 
other thing. Easy GUI is available (also available for Java application)
 in Visual Studio which just needed to be coded at backhand. This is 
possible for Java Applications too, but it needs jre and jdk to be 
installed through java site. Java application creates lot more problem 
in testing than .NET as it somewhere far better in creating real time 
application. C# is just similar to Java so jumping to .NET is not a big 
deal for Java developer. But if you are an Linux user then life gonna be
 much simpler if you prefer java. As running and developing .NET and 
Java application in Linux is equally troublesome. In this as Java is an 
open source you get as many applications as wanted in Java. Linux also 
uses many indispensable applications which needs java like Virtual Box. 
We have many alternatives of Virtual Box in Windows but not in Linux. In
 these cases Linux needs Java Applications to be preferred over .NET as 
user is already dependent over Java Applications.
Switching at the level of language is not that much difficult 'cause 
if you know Java, you could easily understand C# as they are somewhat 
similar. Although things like Ajax and subsonic simply made to switch to
 ASP.NET application design over JSP.Also attaching application such as 
windows service and socket application is simpler in .NET. We need not 
to add too much libraries as needed for Java and JSP. With using ASP you
 could work more faster and with much rich libraries in your hand.  
Connecting to Database is really easy in .NET using ADO.NET libraries 
where as these things are bit typical in Java. Webmethods provides 
ASP.NET  Site to be connected to any non .NET platform applications, 
which could be seen in cases of Mobile Application where you need to 
call SMS and other features from a site. Well most of the Mobile sites 
are coming into market is specially due this feature of .NET.
Still Java is better for freshers who are recently started to code 
real world applications and just out of C and C++. Java still better for
 desktop applications but if you want to have long surviving Web 
Applications  it is really suggested to use .NET over Java.