La specifica Java Virtual Machine afferma che il supporto per i tipi primitivi booleani è limitato .
Non esistono istruzioni per macchine virtuali Java dedicate esclusivamente alle operazioni sui valori booleani. Al contrario, le espressioni nel linguaggio di programmazione Java che operano su valori booleani vengono compilate per utilizzare i valori del tipo di dati int di Java virtual machine.
Quanto sopra implica (anche se potrei averlo interpretato male) che il tipo di dati int viene utilizzato quando si opera su valori booleani, ma questo è un costrutto di memoria a 32 bit. Dato che un booleano rappresenta solo 1 bit di informazione:
- Perché un tipo byte, o breve, non viene utilizzato come proxy per un booleano invece di int?
- Qual è il modo più affidabile per scoprire esattamente quanta memoria viene utilizzata per memorizzare un tipo booleano per qualsiasi JVM?