байткод потом еще при запуске перекомпилировать в машинный нужно (но в java так тормозит словно они интрепретируют байткод, возможно так и есть...)
когда я слушал лекцию одного из топовых разработчиков в универе, то он говорил на этот счет, что джава тормозит обычно у тех, кто плохо планирует архитектуру приложения. В плане подбора типов данных, коллекций и т.д. мне показалось, что ему можно верить )