Я тоже встречался с этим вопросом в первый раз.
Может быть, неясно, когда вы читаете учебник для ASM, так как многие концепции сбили вас с толку.
У меня есть несколько советов для вас, чтобы выучить.* Во-первых, концепция обратного вызова в программировании. .
Пример: система предлагает вам книгу, вам предлагается прочитать ее заново.Ваша работа - написать метод для чтения этой книги.У каждого свой метод чтения, может быть, вы хотите прочитать его быстро, игнорируя главы, которые вас не интересуют, может быть, вы хотите читать внимательно и медленно. В любом случае, ваша задача - создать метод, который реализует то, как вы читаете эту книгу,Затем вы даете этот метод чтения в систему.система получит ваш метод и сделает то, что вы назначили в своем методе.Это процесс обратного вызова. И я думаю, что это поможет вам больше всего.
Затем выясните, каков шаблон посетителя .Шаблоны проектирования в любом месте программы.Я думаю, именно так работает платформа ASM.
Наконец, перейдите к учебникам по ASM.
PS:
ответна Shouldn't my class reader only read?
Хотя и называется «ClassReader», его работа не ограничивается чтением байт-кода.Он будет вызывать другие методы через другие классы, как MethodVisitor, который отвечает за байт-код инструмента в методах.А у MethodVisitor есть просто обратный вызов.
Среда ASM, которая может помочь вам изменить байт-код, держитесь подальше от подробностей байт-кода.