Почему Java-код не компилируется в машинный код многими людьми, даже если он будет работать быстрее, чем JVM и без JVM?
Я студент информатики в TUM Германии.
Я знаю преимущества и недостатки Java, а также плюсы и минусы, например. C / C ++.
Синтаксис Java очень похож на C ++ (не могу говорить о C, никогда не рассматривал его).
В Java вы не используете стек явно. Компиляция кода Java (после исправления незначительных синтаксических различий) с помощью компилятора C будет использовать только кучу.
Также созданные объекты в куче не будут автоматически освобождены.
Недавно мне пришлось кодировать «компилятор» для синтаксиса Java, поэтому у меня есть базовые знания по синтаксическому анализу кода и его преобразованию в пригодный для использования ассемблерный код.
Если компания создала эффективный синтаксический анализатор, который находит время жизни объектов в коде Java, чтобы изменить эти объекты для использования стека в C ++, компилятор может скомпилировать этот код так же, как обычный C ++, что может привести к лучшей производительности чем с помощью JVM. Также объекты кучи будут освобождены после того, как они больше не используются (Даже если вам нужно было вручную добавить строки, где объекты должны быть освобождены, я не думаю, что это может быть сложно)
Я знаю, что разбил эту огромную тему до этого небольшого объяснения. Что-то я пропускаю или что-то не так с моими мыслями?
(мне «грозит опасность, что я больше не буду спрашивать». Пожалуйста, помогите мне изменить мою тему, чтобы она лучше подходила этому форуму!)
EDIT:
Я использую оба, Java в университете, C ++ для выполнения проектов на дому. Для меня различия незначительны и могут быть легко изменены. Это мой опыт, по крайней мере.