JOL JAVA对象布局
JOL = Java Object Layout 分析对象在JVM的大小和分布
官网:http://openjdk.java.net/projects/code-tools/jol/
pom依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol-core -->
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.9</version>
</dependency>
</dependencies>
上代码:
public class Test { static Object getObject() { Map<String, Object> map = new HashMap<>(); map.put("a", 1L); map.put("b", "b"); map.put("c", new Date()); for (int i = 0; i < 10; i++) { map.put(String.valueOf(i), String.valueOf(i)); } return map; } public static void main(String[] args) { Object obj = getObject(); //查看对象内部信息 System.out.println(ClassLayout.parseInstance(obj).toPrintable()); System.out.println("----------我是分割线---------------"); //查看对象外部信息 System.out.println(GraphLayout.parseInstance(obj).toPrintable()); System.out.println("----------我是分割线---------------"); //获取对象总大小 System.out.println("size : " + GraphLayout.parseInstance(obj).totalSize()); } }



不积跬步,无以至千里;不积小流,无以成江海
浙公网安备 33010602011771号