JVM——字节码增强技术简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM——字节码增强技术简介相关的知识,希望对你有一定的参考价值。

    Java字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。Java字节码增强主要是为了减少冗余代码,提高性能等。

    实现字节码增强的主要步骤为:

  1、修改字节码

   在内存中获取到原来的字节码,然后通过一些工具(如 ASM,Javaasist)来修改它的byte[]数组,得到一个新的byte数组。

  2、使修改后的字节码生效

    有两种方法:

   1) 自定义ClassLoader来加载修改后的字节码;

   2)替换掉原来的字节码:在JVM加载用户的Class时,拦截,返回修改后的字节码;或者在运行时,使用Instrumentation.redefineClasses方法来替换掉原来的字节码;

以上是关于JVM——字节码增强技术简介的主要内容,如果未能解决你的问题,请参考以下文章

字节码增强技术探索

字节码增强

字节码Java Instrumentation 简介 以及 ASM 组合案例

小师妹学JVM之:java的字节码byte code简介

字节码增强之Javassist

字节码增强之Javassist