У меня есть класс, который состоял из следующих примитивных только типов:Размер объекта Java, который содержит только примитивные типы
public class Test{
private int a1; //size of int =4
private long a2; //size of long = 8
private double a3[]; //size of double =8
}
Кроме того, у меня есть объект для этого класса, как это:
Test test= new Test(1,3,new double[] {0.1, 0.2, 0.3, 0.4});
Я хотел бы иметь функцию, которая будет найти размер этого объекта, и в этом случае она будет возвращать 4 + 8 + 4 * 8 = 44.
Меня не интересует общий размер объекта, но только при общем размере используемых примитивных переменных, как показано в приведенном примере. –
Затем ... http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html –
http://btoddb-java-sizing.blogspot.com/ для размеров на 64-битной JVM; 32-разрядная JVM использует 4-байтовое выравнивание памяти вместо 8-байтового выравнивания памяти, поэтому ints и floats будут занимать 4 байта вместо 8 –