Perché Java convertito byte e brevi operandi interi durante la promozione numerica

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

  •  14-10-2019
  •  | 
  •  

Domanda

Quali sono le ragioni che stanno dietro l'estensione di piccoli tipi di dati (ad esempio byte) su INT durante la processo numerico Promozione ? Non sarebbe possibile eseguire la maggior parte delle operazioni direttamente su queste tipi di dati più piccoli?

È stato utile?

Soluzione

La VM è una macchina virtuale, il JIT traduce questo in codice nativo e ottimizza quindi. Tutti i registri sono sia a 32-bit o 64-bit e "corti" operazioni non sono necessariamente e più veloce.

Altri suggerimenti

La VM non supporta gli interi più piccolo di 4 ottetti, quindi durante l'esecuzione in VM si opera su 4 int ottetto o 8 long ottetto. (Beh lo fa per gli array, Barray Sarray, ecc, non solo per i valori singoli).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top