您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯
文本格式转换器(bin文件格式转换器)
小玉2023-07-05【软件使用】
232人已围观
简介在使用java.lang.instrument.Instrumentation接口进行字节码增强操作时,我们必要使用的方法便是:voidaddT

文本格式转换器(bin文件格式转换器)
最后更新:2023-07-05 01:45:45
推荐指数:
在使用java.lang.instrument.Instrumentation接口进行字节码增强操作时,我们必要使用的方法便是:voidaddTransformer(ClassFileTransformertransformer,booleancanRetransform)通过此方法,我们可以为我们想要操作的类添加一个ClassFileTransFormer,顾名思义其为类文件转换器,其官方描述如下:Allfutureclassdefinitionswillbeseenbythetransformer,exceptdefinitionsofclassesuponwhichanyregisteredtransformerisdependent.Thetransformeriscalledwhenclassesareloaded,whentheyareredefined.andifcanRetransformistrue,whentheyareretransformed.简单来讲,在对一个类注册了该转换器后,未来该类的每一次redefine以及retransform,都会被该转换器检查到,并且执行该转换器的操作。由上述描述可以知道,我们想要做的字节码增强操作就是通过向JVM中添加转换器并且通过转换器将JVM中的类转换为我们想要的结果(Transformaclassbytransfomer.)流程如下:首先通过premain方法运行JavaAgent,此时在premain参数中我们可以获取到Instrumentation,第二步通过Instrumentation接口将实现的ClassFileTransfomer注册到JVM上,当JVM去加载类的时候,ClassFileTransfomer会获得类的字节数组,并对其进行transform后再返回给JVM,此后该类在Java程序中的表现就是转换之后的结果。
很赞哦! (0)
相关文章
文章评论
验证码: