最近有点忙,上班烦了,所以抽时间去论坛看了看 ,看到一个用来显示对象大小的工具JOL (Java Object Layout),所以试了一下 。使用方法我找到的有两个,一个是下载core包,引入到类中使用,还有一种是下载cli-full包,使用命令行操作,我选择命令行操作.....
- 下载工具 jol-cli-0.8-full.jar
注意一定要下载jol-cli-版本号-full.jar
的完整版本才能使用。 - 打开命令行,进入到
jol-cli-0.8-full.jar
所在目录
- 查看jdk中类
// 查看HashMap
java -jar jol-cli-0.8-full.jar internals java.util.HashMap
- 查看自己写的类,把类编译后和jol 放在一起
// 注意这里我没有加package , 后面执行命令时就没有指定包路径
import java.util.HashMap;
import java.util.Map;
public class ObjectSize {
public volatile long value = 0L;
public long p1, p2, p3, p4, p5, p6;
public Map map = new HashMap(50);
public static void main(String[] args) {
}
}
// 查看自己写的类
java -jar jol-cli-0.8-full.jar internals java -jar jol-cli-0.8-full.jar internals -cp . ObjectSize
通过这个工具可以看到对象头,属性所占的大小