Я так думаю, что Java в принципе никогда не отойдет на задний план. По крайней мере, пока есть мобильные телефоны со скромными параметрами производительности, пока есть потребность в "толстых клиентах" таких структур, как например, налоговая инспекция и прочее.
Вообще основной рынок, где используется Java - это естественно enterprise-сектор (корпоративный сектор). Где важны такие параметры, как надежность и переносимость. И опять-же таки, "толстые клиенты". Зачем писать, по сути, 2 разных клиента для Linux и Windows, когда можно один раз написать на java.
p.s. да, я знаю что такое .Net и проект mono, однако, ни одна более-менее сложная программа скомпилированная под Microsoft .net, никогда без "костылей" и матюков на Mono (под Linux) не взлетит.