新建一个maven工程
我们先在IDEA中新建一个名为ObjectSizeFetcherAgent的maven工程,如下图:
在maven项目中的pom.xml中新增一个打jar包的插件,如下:
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.8
1.8
/src/test/**
utf-8
org.apache.maven.plugins
maven-jar-plugin
3.0.2
${project.build.outputDirectory}/META-INF/MANIFEST.MF
在项目的resources中新建一个名为META-INF的目录,在这个目录下新建一个名为MANIFEST.MF的属性文件,如下图:
项目的JDK设置为1.8,如下图:
编写获取Java对象内存的工具方法
import java.lang.instrument.Instrumentation;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.HashSet;
import java.util.Set;
public class ObjectSizeFetcher {
// instrum