Предложения библиотеки управления байт-кодом Java

Я ищу хорошо сохраняемую библиотеку управления байт-кодом Java с интуитивным API. Кажется, существуют довольно многие из них там. Какие-либо предложения на том, которые попробовать?

13
задан Daniel 28 March 2010 в 07:39
поделиться

3 ответа

Лучший ответ на ваш вопрос будет зависеть от ваших конкретных потребностей и целей; если вы сможете подробнее рассказать о том, чего пытаетесь достичь, я, возможно, смогу предложить более индивидуальный ответ.

Однако, по моему опыту, ASM предлагает, вероятно, лучшее сочетание зрелости, гибкости и простоты использования:

  • Он находится в относительно активной разработке: даже несмотря на то, что последний выпуск от июня 2009 г., разработчики регулярно вносят изменения в свои VCS.
  • Он уже широко используется в ряде известных продуктов Java, таких как AspectJ, Groovy, Cobertura и многих других, что обещает широкую базу пользователей и, следовательно, широкое сообщество для поддержки.
  • Он достаточно тщательно задокументирован, и существует ряд учебных пособий, руководств пользователя и справочных документов, доступных как от Консорциума OW2 , так и от сообщества в целом.

Примечание. Комментарий @Yuri, оставленный ниже, описывает ситуацию, с которой я лично еще не сталкивался, но которая потенциально может стать серьезным препятствием. Помните о его наблюдениях / опыте при оценке различных библиотек манипулирования байт-кодом.

6
ответ дан 2 December 2019 в 00:45
поделиться

Это на самом деле зависит от того, как вы определяете интуитивный ;-) Я начал использовать ASM две недели назад для определенная задача в моем текущем проекте, и это сработало как шарм. Мне потребовалось всего пара часов, чтобы разобраться в нем и научиться его использовать, но я бы не стал называть API интуитивно понятным.Но если вы немного знаете о байт-коде Java и знакомы с шаблоном посетителя, кривая обучения не очень высока, IMO.

Еще одним преимуществом ASM является то, что он явно связан со стандартным API, по крайней мере, в Sun JDK, хотя и в другом пакете (com.sun.xml.internal.ws.org.objectweb.asm и подпакеты).

4
ответ дан 2 December 2019 в 00:45
поделиться

Посмотрите эту статью : http://www.pabrantes.net/blog/space/start/2008-03-24/1

Немного старая, но все еще актуальная.

ASM и Javassist - самые используемые сейчас. Bcel умирает.

3
ответ дан 2 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: