javaagent机制,也叫Instrumentation,对应JDK源码的java.lang.instrument包。这是在JDK5之后提供的新特性,开发者能够使用这种机制,实现很多有用的功能,比如计算java对象占用的内存大小,实现class文件的热替换等。这里不做过多解释,主要是我自己才刚接触,也不懂。可以参考http://blog.csdn.net/qyongkang/article/details/7799603这篇博客学习下。这里主要讲下,我自己写代码时候遇到的ClassNotFoundException,搞了好久才解决,无比蛋疼。
事情是这样的,我写了一个用来获取Instrumentation类实例的代理类,源码如下:
package net.aty.size;
import java.lang.instrument.Instrumentation;
public class GetSizeAgent
{
private static volatile Instrumentation globalInstr;
public static void premain(String args, Instrumentation inst)
{