title: Why must Java booleans be at least 1 byte in size?
body: <p>It is known that C++ <code>bool</code>s must be at least 1 byte in size so that pointers can be created for each <a href="https://stackoverflow.com/a/2064565/7154924">[https://stackoverflow.com/a/2064565/7154924]</a>. But there are no pointers to primitive types in Java. Yet, they still take up at least 1 byte<a href="https://stackoverflow.com/a/383597/7154924"> [https://stackoverflow.com/a/383597/7154924]</a>.</p>
  
  <p>Why is this the case - why can't Java <code>boolean</code>s be 1 bit in size? Computation time aside, if one has a large <code>boolean</code> array, surely one could conceive a compiler that does the appropriate shifting to retrieve the individual bit corresponding to a <code>boolean</code> value?</p>