As i know the boolean size in 16 bytes {8 as header,1 payload ,* alignment to 8}
how much does it take if the boolean variable was an array ...
my reference
As i know the boolean size in 16 bytes {8 as header,1 payload ,* alignment to 8}
how much does it take if the boolean variable was an array ...
my reference
Are you asking about Boolean object or boolean primitive? The size of the object might be 16 bytes (although probably implementation dependent) while boolean will probably consume 4 bytes (int is implicitly used).
Thus boolean[] will consume N * 4 bytes (where N is the size of the array) + some object header. Boolean[] will consume N * 16 + header (according to your assumption on Boolean size.
That being said consider writing your own array-like class and pack 32 booleans in one int (you'll have to write few bit operations manually), just like BitSet class is doing.
The array Object size will be: 8 + 4 = 12 bytes (Here 4 is the length of array) If array length is N then the boolean elements will be: N*16 bytes So the size will be: (12 + N * 16) bytes rounded (ceil) by 8
As an example: if N =10, then 12 + 10 * 16 = 172 and after rounding the figure by JVM, the size will be 176 bytes.