Warum ist Java bei Verwendung einer JIT schneller als beim Kompilieren in Maschinencode?

Ich habe gehört, dass Java ein JIT verwenden muss, um schnell zu sein. Dies ist im Vergleich zur Interpretation durchaus sinnvoll, aber warum kann niemand einen Compiler im Voraus erstellen, der schnellen Java-Code generiert? ich weiss Bescheidgcj, aber ich glaube nicht, dass die Ausgabe in der Regel schneller ist als zum Beispiel Hotspot.

Gibt es Dinge an der Sprache, die dies schwierig machen? Ich denke, es kommt nur auf diese Dinge an:

ReflexionKlassenladen

Was vermisse ich? Wenn ich diese Funktionen vermeide, ist es dann möglich, Java-Code einmal in systemeigenen Maschinencode zu kompilieren und fertig zu sein?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage