gpt4 book ai didi

java - Java 仪器中的 Transformer

转载 作者:行者123 更新时间:2023-11-30 07:28:41 25 4
gpt4 key购买 nike

Java Instrumentation中Transformer的主要用途是什么。我知道它们将与仪器实例一起添加。同样在premain方法中,public static void premain(String agentArgs, Instrumentation inst);

中给 agentArgs分配了哪些参数

最佳答案

转换器 (java.lang.instrument.ClassFileTransformer) 用于在将类文件加载到 Java 虚拟机之前在字节码级别上对其进行转换。该功能可用于修改字节级别的方法(实际上,您会得到一个字节数组),或者使用 Javassist 或 ASM 等第三方库,其中 Javassist 位于更高的修改层上(您可以提供编译后的源代码)运行期间)。 ASM 使用字节码关键字(例如 invokevirtual )。

在流行的框架(如 AspectJ)中使用在加载时修改类及其条目来提供加载方面的能力(即所谓的“加载时编织”)。

<小时/>

agentArgs premain(...) 中的参数方法是String包含启动时提供给代理的参数。是单String应由代理本身解析。

您可以像这样为代理提供一个:

$ java -javaagent:${jarfile}=${agentArgs}

您输入的值 ${agentArgs}将是 agentArgs 的值参数。

为什么叫args如果它只包含一个参数?只有天知道。

关于java - Java 仪器中的 Transformer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com