Warum konvertiert Java Byte und kurze Operanden während der numerischen Werbung in INTs?

StackOverflow https://stackoverflow.com/questions/4575637

  •  14-10-2019
  •  | 
  •  

Frage

Was sind die Gründe für die Erweiterung kleiner Datentypen (z. B. Byte) auf int während der Numerische Werbung Prozess? Wäre es nicht möglich, die meisten Vorgänge direkt auf diesen kleineren Datenatypen auszuführen?

War es hilfreich?

Lösung

Die VM ist eine virtuelle Maschine, die JIT übersetzt diesen in nativen Code und optimiert sie dann. Alle Register sind entweder 32-Bit- oder 64-Bit und "kürzere" Operationen sind nicht unbedingt und schneller.

Andere Tipps

Die VM unterstützt keine Ganzzahlen, die kleiner als 4 Oktetten sind. Wenn Sie also in der VM ausgeführt werden, arbeiten Sie auf 4 Oktetts oder 8 Oktettswunden. (Nun, für Arrays, Barray Sarray usw., nur nicht für einzelne Werte).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top