Los tienen mucha salida laboral y no hay diferencia en sueldo casí.
Los dos tienen la sintaxis proveniente de c++. .net podes correr sobre linux con la plataforma mono, nunca probe como se comporta. En cuanto a open source es relativo , en grandes proyectos se usan Ides en java con oracle jdeveloper o ibm websphere la cual se paga licencia como en visual studio.net.
lo bueno de java , es la version movil.