Para .NET debes usar Reflector.
Para JAVA, pues...... DJ JAVA Decompiler?????
Agregado
Ah! Debido a que ambos son lenguajes interpretados, no verás los mismos en código ASM. En el caso de .NET, verás (si no está empacado/ofuscado) el código fuente con Reflector (sinó, siempre puedes ver el código IL).
En JAVA, si no está ofuscado, verás el fuente, sinó el bytecode que genera el compilador.