package memory;
import java.io.IOException;
import org.apache.giraph.utils.ExtendedByteArrayDataOutput;
import org.apache.giraph.utils.ExtendedDataOutput;
import org.apache.hadoop.io.FloatWritable;
public class MemoryTest {
/**
* @param args
*/
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
ExtendedDataOutput extend = new ExtendedByteArrayDataOutput();
System.out.println("Pos: " + extend.getPos() + " Total Memory = "
+ rt.totalMemory() + " Used Memory = "
+ (rt.totalMemory() - rt.freeMemory()));
try {
for (int i = 0; i < 100000; i++) {
new FloatWritable(i).write(extend);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Pos: " + extend.getPos() + " Total Memory = "
+ rt.totalMemory() + " Used Memory = "
+ (rt.totalMemory() - rt.freeMemory()));
}
}
结果:
Pos: 0 Total Memory = 127991808 Used Memory = 2684032
Pos: 400000 Total Memory = 127991808 Used Memory = 10075640