java计算对象占用内存大小 SizeOf

 java计算对象占用内存大小 SizeOf

Quickstart

1. include sizeOf.jar in the classpath of your application and use it in your    code like this:

 import net.sourceforge.sizeof
 ...
 SizeOf.skipStaticField(true); 
//java.sizeOf will not compute static fields
 SizeOf.skipFinalField(true); 
//java.sizeOf will not compute final fields
 SizeOf.skipFlyweightObject(true); 
//java.sizeOf will not compute well-known flyweight objects
 System.out.println(SizeOf.deepSizeOf(<your object>)); 
//this will print the object size in bytes

You can dump object's size setting the min size to log

(if you don't specify an output stream standard out is used):

 SizeOf.setMinSizeToLog(1024); 
//min object size to log in bytes
 SizeOf.setLogOutputStream(new FileOutputStream("<your log file>"));

Use the humanReadable() method to get the object size in byte, kilo or mega

(if you need giga your in trouble guy!):

 SizeOf.humanReadable(SizeOf.deepSizeOf(<your object>));

2. start your application with the following JVM parameter:

 -javaagent:/path_to/sizeOf.jar
扫描二维码关注公众号,回复: 600515 查看本文章

3.在项目中引入SizeOf.jar

4.在VM arguments中加入 -javaagent:"F:\workspace\jtest\lib\SizeOf.jar"



 



 

猜你喜欢

转载自stephen830.iteye.com/blog/2110547