Все одновременно и так, и не так. Чтобы использовать возможности новой микросхемы или нового процессора, совсем необязательно перекомпилировать приложение - зачастую достаточно иметь правильный драйвер. В принципе, сейчас никто не лезет к хардверу с ассемблером наперевес - вполне достаточно средств OS, чтобы на 100% задействовать хардвер. Раньше было по-другому. Но в некоторых случаях без перекомпиляции не обойтись. Новый процессор с обновленной системой команд.
Там не только ява виновата. Общий подход, быстрее, больше, круче, визуальнее. В результате явовские приложения решили с грехом пополам только одну задачу, кроссплатформенность без перекомпиляции. ценой низкого быстродействия, больших требований к ресурсам системы и утраты контроля за выполнением программы. Охрененное достижение, особенно при наличии Perl, который делает всё тоже самое и ничуть не хуже. Ну синтаксис уродский. Так кроме Перла есть еще и Питон.