public class ComputeSize {
public static void main(String[] args) {
Object obj = new Object();
System.out.println("Object=" + ObjectSizeCalculator
.getObjectSize(obj) + "bytes");
Short s = new Short("1");
System.out.println("Short=" + ObjectSizeCalculator
.getObjectSize(s) + "bytes");
Integer i = new Integer("1");
System.out.println("Integer=" + ObjectSizeCalculator
.getObjectSize(i) + "bytes");
int i2 = 1;
System.out.println("int=" + ObjectSizeCalculator
.getObjectSize(i2) + "bytes");
Long l = new Long("1");
System.out.println("Long=" + ObjectSizeCalculator
.getObjectSize(l) + "bytes");
long l2 = 1L;
System.out.println("long=" + ObjectSizeCalculator
.getObjectSize(l2) + "bytes");
String name = "";
System.out.println("String=" + ObjectSizeCalculator
.getObjectSize(name) + "bytes");
Map<String,Object> map = new HashMap();
System.out.println("Map=" + ObjectSizeCalculator
.getObjectSize(map) + "bytes");
map.put("name","z");
System.out.println(ObjectSizeCalculator
.getObjectSize(map) + "bytes");
}
public static BigDecimal getKFromByte(BigDecimal begin){
return divide1024(begin);
}
public static BigDecimal getMFromByte(BigDecimal begin){
return divide1024(begin);
}
public static BigDecimal getGFromByte(BigDecimal begin){
return getMFromByte(begin);
}
public static BigDecimal divide1024(BigDecimal begin){
BigDecimal end = new BigDecimal("1024");
BigDecimal result =
begin.divide(end, 2, RoundingMode.HALF_UP);
return result;
}
}
运行结果
Object=16bytes
Short=16bytes
Integer=16bytes
int=16bytes
Long=24bytes
long=24bytes
String=40bytes
Map=48bytes
256bytes