我使用下面的Java項目來確定物體的大小 http://sizeof.sourceforge.net/單位尺寸由java的儀表返回
public class DataClass /*implements Serializable*/{
// private static final long serialVersionUID = 5199373516861766638L;
String name = "GUNJ";
String lastName= "";
// int age = 148888890;
@Override
public String toString() {
return "DataClass{" +
"Name='" + name + '\'' +
", Last Name='" + lastName + '\'' +
", Age=" +
'}';
}
public static void main(String[] args) {
// SizeOf.skipStaticField(true);
// SizeOf.skipFinalField(true);
// SizeOf.skipFlyweightObject(true);
System.out.println(SizeOf.humanReadable(SizeOf.deepSizeOf(new DataClass()))); //this will print the object size in bytes
}
}
我得到的結果如下 144KB,64Kb的,72KB
- 是' b'代表位或字節?
- 爲什麼輸出不會因爲我改變上述情況下的字符數而改變?有時會增加,有時卻不會。
這似乎是使用Java代碼的儀器
好像是用下面的包:java.lang.instrument.Instrumentation
,但不知道包退貨的API的對象是否在大小位或字節。
我會很驚訝,如果它是在位。當你改變「字符數」時,不確定你改變了什麼,但是請記住'String'參考就是這個參考。 – 2014-12-05 13:43:13
這些必須是字節,而不是「Kb」,對吧? – 2014-12-06 19:59:56