2011-01-26 2 views
2

Я хочу выполнить инструментарий байт-кода Java от JDK 1.5 и далее. Есть ли способ сделать это, который работает в большинстве JVM и поддерживается в будущих версиях JDK?Какой самый надежный способ выполнения инструментария байт-кода Java?

+0

Почти невозможно гарантировать будущую совместимость просто потому, что там не знает, что они могут изменить. Просто хотел указать на это. Но мы можем предположить, что никаких серьезных изменений в большинстве кодировок байт-кода не будет. –

+0

Но что было бы хорошей ставкой для способа сделать это, что работает с текущими JDKs по крайней мере? – Zubair

ответ

1

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

Сказав, что между версиями JVM очень мало изменений кода байта. Если у вас есть шанс изменить байтовый код или поработать над ним, то он будет использоваться всегда. например Java поддерживает внутренние классы, получающие доступ к частному члену внешних классов для много лет, однако JVM не поддерживает это напрямую (вместо этого используется компилятор)

+0

Существуют ли такие библиотеки на вершине ASM? – Zubair

+0

Я бы сказал, что ASM имеет библиотеки, которые существуют поверх своей основной библиотеки. Вы посмотрели на ASM, чтобы убедиться, что он подходит? –

+0

Я смотрел на ASM, но он слишком низкий уровень – Zubair

Смежные вопросы