Я пытаюсь заменить класс во время выполнения, используя Instrumentation.redefineClasses
. (не спрашивай почему) У меня есть два вопроса:
Как получить копию класса Instrumentation
в моем методе main
? В документации говорится о agent - jar
, чего я не понимаю.
Для чего нужен параметр байтов в ClassDefinition
? Вы пытаетесь заменить класс преобразованным в массив байтов или чем-то еще? Поэтому, если я хочу заменить класс Foo.java
следующим текстом:
public class Foo {
public int Bar(){
return 0;
}
}
Какой будет правильный массив байтов для вставки new ClassDefinition(Foo.class, bytes here)
?