确定性类加载 - 加载类的控制线程

时间:2018-06-18 21:39:06

标签: java jvm jvmti classloading

我正在研究JVM中确定性故障再现的研究项目,并努力使不同应用程序运行之间的类加载确定性。我的意思是,我想确保始终相同的线程加载一个在上一次运行中加载它的类。

假设我在第一次运行中记录了哪个线程加载了一个给定的类(这是简单的部分)并在某处存储了该信息。然后,我想要控制在任何后续应用程序运行中没有其他线程会加载该类(例如,在它们导致加载类事件之前暂停它们)。

虽然我通过字节码修改或JVMTI设法做的大部分事情我不知道如何解决这个问题,因为加载是由JVM控制的,显然没有字节代码说before load class,既不是正确的JVMTI事件。

我对任何建议持开放态度,无论多么“怪异”。所以即使使用非公共JVM内部也没问题; C / C ++或Java。不知道在哪里挂钩。

0 个答案:

没有答案