Байт-код Java

Байт-код Java

Байт-код Java — набор инструкций, исполняемых виртуальной машиной Java. Каждый код операции байт-кода — один байт. Используются не все 256 возможных значений кодов операций. 51 из них зарезервированы для использования в будущем.

Инструкции

Инструкции можно разделить на несколько групп:

  • загрузка и сохранение (например, ALOAD_0, ISTORE),
  • арифметические и логические операции (например, IADD, FCMPL),
  • преобразование типов (например, I2B, D2I),
  • создание и преобразование объекта (например, NEW, PUTFIELD),
  • управление стеком (например, DUP, POP),
  • операторы перехода (например, GOTO, IFEQ),
  • вызовы методов и возврат (например, INVOKESTATIC, IRETURN).

Также есть несколько инструкций, выполняющих специфические задачи, такие как выбрасывание исключений, синхронизация и т. д.

Многие инструкции имеют префиксы или суффиксы, соответствующие их операндам:

Префикс или суффикс Тип операнда
I integer
L long
S short
B byte
C character
F float
D double
A reference

Например, операция IADD — сложение двух целых чисел, в то время как FADD — сложение чисел с плавающей точкой.

Пример

Рассмотрим следующий пример кода на языке Java.

  outer:
  for (int i = 2; i < 1000; i++) {
      for (int j = 2; j < i; j++) {
          if (i % j == 0)
              continue outer;
      }
      System.out.println (i);
  }

Компилятор Java может транслировать приведённый выше код Java в следующий байт-код:

  0:   iconst_2
  1:   istore_1
  2:   iload_1
  3:   sipush  1000
  6:   if_icmpge       44
  9:   iconst_2
  10:  istore_2
  11:  iload_2
  12:  iload_1
  13:  if_icmpge       31
  16:  iload_1
  17:  iload_2
  18:  irem
  19:  ifne    25
  22:  goto    38
  25:  iinc    2, 1
  28:  goto    11
  31:  getstatic       #84; //Field java/lang/System.out:Ljava/io/PrintStream;
  34:  iload_1
  35:  invokevirtual   #85; //Method java/io/PrintStream.println:(I)V
  38:  iinc    1, 1
  41:  goto    2
  44:  return

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Байт-код Java" в других словарях:

  • Байт-код — или байткод (англ. byte code), иногда также используется термин псевдокод  машинно независимый код низкого уровня, генерируемый транслятором и исполняемый интерпретатором. Большинство инструкций байт кода эквивалентны одной или… …   Википедия

  • байт-код — Машинно независимый код, генерируемый Java компилятором. [ГОСТ Р 54456 2011] Тематики телевидение, радиовещание, видео EN byte codeJava byte code …   Справочник технического переводчика

  • Java Native Interface — (JNI)  стандартный механизм для запуска кода, под управлением виртуальной машины Java (JVM), который написан на языках С/С++ или Ассемблера, и скомпонован в виде динамических библиотек, позволяет не использовать статическое связывание. Это… …   Википедия

  • Java Virtual Machine — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Java-апплет — Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь улучшить эту статью, исправив в ней ошибки. Оригинал н …   Википедия

  • Java — разработанная компанией Sun Microsystems система программирования, содержащая: универсальный язык программирования Java; компилятор; и виртуальную машину Java s Virtual Machine (JVM). Компилятор транслирует исходный Java текст в байт код, который …   Финансовый словарь

  • Java — Иное название этого понятия  «Ява»; см. также другие значения. Не следует путать с JavaScript. Java Класс языка …   Википедия

  • Виртуальная машина Java — Java Virtual Machine (сокращенно Java VM, JVM) виртуальная машина Java основная часть исполняющей системы Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует и исполняет байт код Java, предварительно созданный из исходного… …   Википедия

  • Java (программная платформа) — Не следует путать с JavaScript. Программная платформа Java ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для… …   Википедия

  • Код операции — Эта статья об инструкциях; о системе команд в целом см.: Машинный код. Код операции, операционный код, опкод часть машинного языка, называемая инструкцией и определяющая операцию, которая должна быть выполнена. Определение и формат кодов… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»