Можно ли просмотреть байт-код файлов классов Java?

Я работаю над обработкой/генерацией байт-кода в Java, и мне просто интересно, есть ли простой способ проверить байт-код. Я не хочу декомпилировать файл, я бы хотел посмотреть на скомпилированный байт-код. Мне не нужно его редактировать. Любые ссылки или программы для этого были бы приемлемыми ответами.

Ответы

Ответ 1

Я работал над decompiler, который имеет режим вывода байт-кода с цветовым кодированием (который я считаю гораздо более читаемым, чем javap). Он также может выводить код Java или промежуточный "байт-код AST".

Ответ 2

Поскольку вы хотели руководствоваться какой-либо программой, которая может легко показать вам байтовый код, то мое предложение - использовать IntelliJ IDEA, поскольку он имеет встроенную поддержку для просмотра байтового кода.

Вот пример, как это сделать (его также можно сопоставить с некоторыми выбранными вами ключами):

enter image description here

enter image description here

Это очень легко, и это, безусловно, можно сделать и в eclipse или NetBeans.

Ответ 3

Не уверен, что именно вам нужно, но кроме javap, который является средством командной строки для отображения байт-кода, вы можете взглянуть на javassist, asm и cglib - они позволяют вам анализировать байт-код с помощью java-кода.

Ответ 4

Инструмент командной строки javap, который поставляется вместе с Oracle JDK, дает подробный текстовый дамп .class файлов вместе с постоянный пул и все байт-коды всех функций. Просто запустите его с помощью -v, чтобы получить полный дамп.