字节码检测是在Java中并行完成的吗?

问题描述 投票:0回答:1

因此,我制作了自己的Java代理,其中包含ClassFileTransformer,该代理实现了transform方法。我观察到的是,此方法在不同的线程上被调用。我用Thread.currentThread()进行了检查这些是不同的线程:

Thread[background-preinit,5,main]
Thread[main,5,main]
Thread[cluster-ClusterId{value='...', description='null'}-localhost:27017,5,main]
java multithreading instrumentation java-bytecode-asm javaagents
1个回答
0
投票

A ClassFileTransformer应用于第一次加载类的线程。在进行重新转换的情况下,所有加载的类都会在调用Instrumentation.retransformClasses的线程中进行检测。

因此:是的,重新转换发生在多个线程中。

© www.soinside.com 2019 - 2024. All rights reserved.