Ist der stapelbasierte Befehlssatz einer der wichtigsten Faktoren für die Leistung von Java?[geschlossen]
-
21-12-2019 - |
Frage
Wir wissen, dass Java einen stapelbasierten Befehlssatz verwendet, um seine Kompatibilität zu verbessern. Der Stapelbetrieb ist jedoch viel langsamer als der Registerbetrieb. Ist dies also ein wichtiger Faktor, der die Leistung von Java beeinträchtigt? Ich habe erfahren, dass Java manchmal auch Register verwendet, um seine Leistung zu beschleunigen Ausführungsgeschwindigkeit, aber ich weiß nicht, wie und wann Java Register verwendet.Danke schön!
Lösung
Das Java-Bytecode-Modell hat sehr wenig mit dem tatsächlichen Code zu tun, der in einer laufenden Anwendung ausgeführt wird.HotSpot kompiliert wie alle anderen wichtigen JVMs den Bytecode unter Verwendung aller anwendbaren Optimierungen in nativen Code.
Das stapelbasierte Modell des Bytecodes hat keine Auswirkungen auf die Leistung moderner JVMs.