In Java, size doesn’t matter
Can you ascertain the size of a primitive in Java?
Q: Is there a method in Java for determining the size of a primitive type, similar to C++’s sizeof operator?
A: The short answer: you can’t find the size of a Java primitive type through a sizeof
operator. Instead, all primitive types have a fixed size. Java was designed in this way to facilitate portability. Because Java specifies the primitive size up front, you can write a Java program and run it reliably on any JVM. If the designers had chosen to not define the size of primitive types, a program that ran on one hardware architecture could fail on another.
Another reason for a lack of sizeof
: Java handles all memory access for you. As such, there is no need to find the sizeof
some primitive or object in order to allocate a space of memory for it.
Nonetheless, times do arise when you will need to know the size of a primitive. For those times, I give you the following table:
Type | Size |
---|---|
boolean |
1 bit |
char |
16 bit |
byte |
8 bit |
short |
16 bit |
int |
32 bit |
long |
64 bit |
float |
32 bit |
double |
64 bit |
The sizes of the various Java primitives |