Perché Java convertito byte e brevi operandi interi durante la promozione numerica
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?
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