Байткод – аналог машинного кода для JVM. Он получается в результате компиляции исходного .java файла и хранится в
.class файле. Анализ байткода иногда может помочь в исследовании бага, или лучше настроить производительность. Он необходим для отладки с инструментами динамической манипуляции байткодом, вроде
ASM или
BCEL.
Это бинарный код, и открыть его простым текстовым редактором не выйдет. В пакете утилит JDK доступен инструмент
javap. Это утилита командной строки для чтения .class файлов.
Аргументами передается полное имя класса, и
classpath в котором этот класс искать. По умолчанию отображаются только объявления публичных членов. Ключ
-p добавит приватные методы и поля;
-v выведет дополнительные метаданные;
-c отобразит сам байткод – скомпилированную реализацию методов.
Для более детального изучения синтаксиса рекомендуется
статья на хабре.