javaagent实战(使用javassist)

文章目录

  • 前言
  • 代码实战
    • 1.创建maven工程、并添加相关依赖
    • 2.编码拦截代码
    • 3. 打包
    • 4. 使用


前言

  • javaagent介绍:

javaagent是依赖java底层提供的一个叫instrument的JVMTI Agent。简单来说,javaagent是一个JVM的“插件”。 在java运行命令中 javaagent是一个参数,用来指定agent。

启动时加载的 JavaAgent 是 JDK1.5 之后引入的新特性,此特性为用户提供了在 JVM 将字节码文件读入内存之后,JVM 使用对应的字节流在 Java 堆中生成一个 Class 对象之前,用户可以对其字节码进行修改的能力,从而 JVM 也将会使用用户修改过之后的字节码进行 Class 对象的创建。

  • javassit介绍:

Javaassist 就是一个用来 处理 Java 字节码的类库。它可以在一个已经编译好的类中添加新的方法,或者是修改已有的方法,并且不需要对字节码方面有深入的了解。同时也可以去生成一个新的类对象,通过完全手动的方式。

javaassist 就是一个用来处理 Java 字节码的类库。
javassist 也称为动态编译&#

你可能感兴趣的:(Java生产环境,jvm,java,开发语言)