Перечисление Opcode
- Все реализованные интерфейсы:
-
Serializable,Comparable<Opcode>,Constable
public enum Opcode extends Enum<Opcode>
Описывает коды операций набора инструкций JVM, как описано в JVMS 6.5. Это включает в себя несколько псевдокодов, изменённых с помощью
wide. Код операции описывает операцию инструкции.
- Примечание API:
- Константы перечисления названы по мнемоническим обозначениям кодов операций в верхнем регистре. Псевдокоды расширения с широким диапазоном имен названы с использованием исходного мнемонического обозначения кодов операций плюс
_Wсуффикс. Однако,ldc_w,ldc2_w,goto_wиjsr_wявляются законными кодами операций, а не псевдокодами расширения с широким диапазоном. - См. Спецификацию виртуальной машины Java:
- 6.5 Инструкции
- С тех пор:
- 24
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
Opcode.Kind |
Типы кодов операций. |
Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
AALOAD |
Загрузка reference из массива. |
AASTORE |
Запись в массив reference. |
ACONST_NULL |
Вставка null. |
ALOAD |
Загрузка reference из локальной переменной. |
ALOAD_0 |
Загрузка reference из слота локальной переменной 0. |
ALOAD_1 |
Загрузка reference из слота локальной переменной 1. |
ALOAD_2 |
Загрузка reference из слота локальной переменной 2. |
ALOAD_3 |
Загрузка reference из слота локальной переменной 3. |
ALOAD_W |
Загрузка reference из локальной переменной (индекс большого размера). |
ANEWARRAY |
Создание нового массива reference. |
ARETURN |
Возврат reference из метода. |
ARRAYLENGTH |
Получение длины массива. |
ASTORE |
Запись reference в локальную переменную. |
ASTORE_0 |
Запись reference в слот локальной переменной 0. |
ASTORE_1 |
Запись reference в слот локальной переменной 1. |
ASTORE_2 |
Запись reference в слот локальной переменной 2. |
ASTORE_3 |
Запись reference в слот локальной переменной 3. |
ASTORE_W |
Запись reference в локальную переменную (индекс большого размера). |
ATHROW |
Выброс исключения или ошибки. |
BALOAD |
|
BASTORE |
|
BIPUSH |
|
CALOAD |
Загрузка char из массива. |
CASTORE |
Запись в массив char. |
CHECKCAST |
Проверка, является ли объект заданного типа. |
D2F |
|
D2I |
|
D2L |
|
DADD |
Сложение double. |
DALOAD |
Загрузка double из массива. |
DASTORE |
Запись в массив double. |
DCMPG |
Сравнение double. |
DCMPL |
Сравнение double. |
DCONST_0 |
Вставка константы double 0.0D. |
DCONST_1 |
Вставка константы double 1.0D. |
DDIV |
Деление double. |
DLOAD |
Загрузка double из локальной переменной. |
DLOAD_0 |
Загрузка double из слота локальной переменной 0. |
DLOAD_1 |
Загрузка double из слота локальной переменной 1. |
DLOAD_2 |
Загрузка double из слота локальной переменной 2. |
DLOAD_3 |
Загрузка double из слота локальной переменной 3. |
DLOAD_W |
Загрузка double из локальной переменной (индекс большого размера). |
DMUL |
Умножение double. |
DNEG |
Отрицание double. |
DREM |
Остаток от деления double. |
DRETURN |
Возврат double из метода. |
DSTORE |
Запись double в локальную переменную. |
DSTORE_0 |
Запись double в слот локальной переменной 0. |
DSTORE_1 |
Запись double в слот локальной переменной 1. |
DSTORE_2 |
Запись double в слот локальной переменной 2. |
DSTORE_3 |
Запись double в слот локальной переменной 3. |
DSTORE_W |
Запись double в локальную переменную (индекс большого размера). |
DSUB |
Вычитание double. |
DUP |
Дублирование вершины стека операндов. |
DUP_X1 |
Дублирование вершины стека операндов и вставка двух значений вниз. |
DUP_X2 |
Дублирование вершины стека операндов и вставка двух или трех значений вниз. |
DUP2 |
Дублирование верхних одного или двух значений стека операндов. |
DUP2_X1 |
Дублирование верхних одного или двух значений стека операндов и вставка двух или трех значений вниз. |
DUP2_X2 |
Дублирование верхних одного или двух значений стека операндов и вставка двух, трех или четырех значений вниз. |
F2D |
|
F2I |
|
F2L |
|
FADD |
Сложение float. |
FALOAD |
Загрузка float из массива. |
FASTORE |
Запись в массив float. |
FCMPG |
Сравнение float. |
FCMPL |
Сравнение float. |
FCONST_0 |
Вставка константы float 0.0F. |
FCONST_1 |
Поместить константу float в стек. |
FCONST_2 |
Поместить константу float в стек. |
FDIV |
Деление float. |
FLOAD |
Загрузка float из локальной переменной. |
FLOAD_0 |
Загрузка float из ячейки локальной переменной 0. |
FLOAD_1 |
Загрузка float из ячейки локальной переменной 1. |
FLOAD_2 |
Загрузка float из ячейки локальной переменной 2. |
FLOAD_3 |
Загрузка float из ячейки локальной переменной 3. |
FLOAD_W |
Загрузка float из локальной переменной (широкий индекс). |
FMUL |
Умножение float. |
FNEG |
Изменение знака float. |
FREM |
Остаток от деления float. |
FRETURN |
Возврат float из метода. |
FSTORE |
Сохранение float в локальную переменную. |
FSTORE_0 |
Сохранение float в ячейку локальной переменной 0. |
FSTORE_1 |
Сохранение float в ячейку локальной переменной 1. |
FSTORE_2 |
Сохранение float в ячейку локальной переменной 2. |
FSTORE_3 |
Сохранение float в ячейку локальной переменной 3. |
FSTORE_W |
Сохранение float в локальную переменную (широкий индекс). |
FSUB |
Вычитание float. |
GETFIELD |
Извлечение поля из объекта. |
GETSTATIC |
Получение поля static из класса. |
GOTO |
Безусловный переход. |
GOTO_W |
Безусловный переход (широкий индекс). |
I2B |
|
I2C |
|
I2D |
|
I2F |
|
I2L |
|
I2S |
|
IADD |
Сложение int. |
IALOAD |
Загрузка int из массива. |
IAND |
Побитовое И int. |
IASTORE |
Сохранение в массив int. |
ICONST_0 |
Поместить константу int 0 в стек. |
ICONST_1 |
Поместить константу int 1 в стек. |
ICONST_2 |
Поместить константу int 2 в стек. |
ICONST_3 |
Поместить константу int 3 в стек. |
ICONST_4 |
Поместить константу int 4 в стек. |
ICONST_5 |
Поместить константу int 5 в стек. |
ICONST_M1 |
Поместить константу int -1 в стек. |
IDIV |
Деление int. |
IF_ACMPEQ |
Переход, если сравнение reference operand1 == operand2 успешно. |
IF_ACMPNE |
Переход, если сравнение reference operand1 != operand2 успешно. |
IF_ICMPEQ |
Переход, если сравнение int operand1 == operand2 успешно. |
IF_ICMPGE |
Переход, если сравнение int operand1 >= operand2 успешно. |
IF_ICMPGT |
Переход, если сравнение int operand1 > operand2 успешно. |
IF_ICMPLE |
Переход, если сравнение int operand1 <= operand2 успешно. |
IF_ICMPLT |
Переход, если сравнение int operand1 < operand2 успешно. |
IF_ICMPNE |
Переход, если сравнение int operand1 != operand2 успешно. |
IFEQ |
Переход, если сравнение int == 0 успешно. |
IFGE |
Переход, если сравнение int >= 0 успешно. |
IFGT |
Переход, если сравнение int > 0 успешно. |
IFLE |
Переход, если сравнение int <= 0 успешно. |
IFLT |
Переход, если сравнение int < 0 успешно. |
IFNE |
Переход, если сравнение int != 0 успешно. |
IFNONNULL |
Переход, если reference не равно null. |
IFNULL |
Переход, если reference равно null. |
IINC |
Инкремент локальной переменной int на константу. |
IINC_W |
Инкремент локальной переменной на константу (широкий индекс). |
ILOAD |
Загрузка int из локальной переменной. |
ILOAD_0 |
Загрузка int из ячейки локальной переменной 0. |
ILOAD_1 |
Загрузка int из ячейки локальной переменной 1. |
ILOAD_2 |
Загрузка int из ячейки локальной переменной 2. |
ILOAD_3 |
Загрузка int из ячейки локальной переменной 3. |
ILOAD_W |
Загрузка int из локальной переменной (широкий индекс). |
IMUL |
Умножить int. |
INEG |
Инвертировать int. |
INSTANCEOF |
Определить, является ли объект заданного типа. |
INVOKEDYNAMIC |
Вызвать динамически вычисляемую точку вызова. |
INVOKEINTERFACE |
Вызвать метод интерфейса. |
INVOKESPECIAL |
Вызвать метод экземпляра; прямой вызов методов инициализации экземпляра и методов текущего класса и его супертипов. |
INVOKESTATIC |
Вызвать метод класса ( static). |
INVOKEVIRTUAL |
Вызвать метод экземпляра; диспетчеризация на основе класса. |
IOR |
Побитовое ИЛИ int. |
IREM |
Остаток int. |
IRETURN |
Вернуть int из метода. |
ISHL |
Сдвиг влево int. |
ISHR |
Арифметический сдвиг вправо int. |
ISTORE |
Сохранить int в локальную переменную. |
ISTORE_0 |
Сохранить int в слот локальной переменной 0. |
ISTORE_1 |
Сохранить int в слот локальной переменной 1. |
ISTORE_2 |
Сохранить int в слот локальной переменной 2. |
ISTORE_3 |
Сохранить int в слот локальной переменной 3. |
ISTORE_W |
Сохранить int в локальную переменную (широкий индекс). |
ISUB |
Вычесть int. |
IUSHR |
Логический сдвиг вправо int. |
IXOR |
Побитовое XOR int. |
JSR |
(Устарело) Переход к подпрограмме; последний раз использовалось в основной версии 50. |
JSR_W |
(Устарело) Переход к подпрограмме (широкий индекс); последний раз использовалось в основной версии 50. |
L2D |
|
L2F |
|
L2I |
|
LADD |
Добавить long. |
LALOAD |
Загрузить long из массива. |
LAND |
Побитовое И long. |
LASTORE |
Сохранить в массив long. |
LCMP |
Сравнить long. |
LCONST_0 |
Поместить константу long 0L. |
LCONST_1 |
Поместить константу long 1L. |
LDC |
Поместить элемент из пула констант времени выполнения. |
LDC_W |
Поместить элемент из пула констант времени выполнения (широкий индекс). |
LDC2_W |
|
LDIV |
Разделить long. |
LLOAD |
Загрузить long из локальной переменной. |
LLOAD_0 |
Загрузить long из слота локальной переменной 0. |
LLOAD_1 |
Загрузить long из слота локальной переменной 1. |
LLOAD_2 |
Загрузить long из слота локальной переменной 2. |
LLOAD_3 |
Загрузить long из слота локальной переменной 3. |
LLOAD_W |
Загрузить long из локальной переменной (широкий индекс). |
LMUL |
Умножить long. |
LNEG |
Инвертировать long. |
LOOKUPSWITCH |
Доступ к таблице переходов по совпадению ключей и переход. |
LOR |
Побитовое ИЛИ long. |
LREM |
Остаток long. |
LRETURN |
Вернуть long из метода. |
LSHL |
Сдвиг влево long. |
LSHR |
Арифметический сдвиг вправо long. |
LSTORE |
Сохранить long в локальную переменную. |
LSTORE_0 |
Сохранить long в слот локальной переменной 0. |
LSTORE_1 |
Сохранить long в слот локальной переменной 1. |
LSTORE_2 |
Сохранить long в слот локальной переменной 2. |
LSTORE_3 |
Сохранить long в слот локальной переменной 3. |
LSTORE_W |
Сохранить long в локальную переменную (широкий индекс). |
LSUB |
Вычесть long. |
LUSHR |
Логический сдвиг вправо long. |
LXOR |
Побитовое XOR long. |
MONITORENTER |
Войти в монитор для объекта. |
MONITOREXIT |
Выйти из монитора для объекта. |
MULTIANEWARRAY |
Создать новый многомерный массив. |
NEW |
Создать новый объект. |
NEWARRAY |
Создать новый массив. |
NOP |
Ничего не делать. |
POP |
Удалить верхнее значение стека операндов. |
POP2 |
Удалить одно или два верхних значения стека операндов. |
PUTFIELD |
Установить поле в объекте. |
PUTSTATIC |
Установить поле static в классе. |
RET |
(Устарело) Вернуться из подпрограммы; последний раз использовалось в основной версии 50. |
RET_W |
(Устарело) Вернуться из подпрограммы (широкий индекс); последний раз использовалось в основной версии 50. |
RETURN |
Вернуть void из метода. |
SALOAD |
Загрузка short из массива. |
SASTORE |
Сохранение в массив short. |
SIPUSH |
|
SWAP |
Меняет местами верхние два значения стека операндов. |
TABLESWITCH |
Обращение к таблице переходов по индексу и переход. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
bytecode() |
Возвращает значение кода операции. |
boolean |
isWide() |
Возвращает true, если это псевдо-код операции, измененный кодом операции wide. |
Opcode.Kind |
kind() |
Возвращает тип операции. |
int |
sizeIfFixed() |
Возвращает размер инструкции в байтах, если она фиксированная, или -1 в противном случае. |
static Opcode |
valueOf |
Возвращает константу перечисления этого класса со заданным именем. |
static Opcode[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробное описание констант перечисления
NOP
public static final Opcode NOP
Ничего не делать.
- См. Спецификацию виртуальной машины Java:
- 6.5.nop nop
- См. также:
ACONST_NULL
public static final Opcode ACONST_NULL
Положить
null.- См. Спецификацию виртуальной машины Java:
- 6.5.aconst_null aconst_null
- См. также:
ICONST_M1
public static final Opcode ICONST_M1
Положить константу типа
int со значением -1.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_0
public static final Opcode ICONST_0
Положить константу типа
int со значением 0.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_1
public static final Opcode ICONST_1
Положить константу типа
int со значением 1.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_2
public static final Opcode ICONST_2
Положить константу типа
int со значением 2.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_3
public static final Opcode ICONST_3
Положить константу типа
int со значением 3.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_4
public static final Opcode ICONST_4
Положить константу типа
int со значением 4.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
ICONST_5
public static final Opcode ICONST_5
Положить константу типа
int со значением 5.- См. Спецификацию виртуальной машины Java:
- 6.5.iconst_i iconst_<i>
- См. также:
LCONST_0
public static final Opcode LCONST_0
Положить константу типа
long со значением 0L.- См. Спецификацию виртуальной машины Java:
- 6.5.lconst_l lconst_<l>
- См. также:
LCONST_1
public static final Opcode LCONST_1
Положить константу типа
long со значением 1L.- См. Спецификацию виртуальной машины Java:
- 6.5.lconst_l lconst_<l>
- См. также:
FCONST_0
public static final Opcode FCONST_0
Положить константу типа
float со значением 0.0F.- См. Спецификацию виртуальной машины Java:
- 6.5.fconst_f fconst_<f>
- См. также:
FCONST_1
public static final Opcode FCONST_1
Положить константу типа
float со значением 1.0F.- См. Спецификацию виртуальной машины Java:
- 6.5.fconst_f fconst_<f>
- См. также:
FCONST_2
public static final Opcode FCONST_2
Положить константу типа
float со значением 2.0F.- См. Спецификацию виртуальной машины Java:
- 6.5.fconst_f fconst_<f>
- См. также:
DCONST_0
public static final Opcode DCONST_0
Положить константу типа
double со значением 0.0D.- См. Спецификацию виртуальной машины Java:
- 6.5.dconst_d dconst_<d>
- См. также:
DCONST_1
public static final Opcode DCONST_1
Положить константу
double типа 1.0D.- См. Спецификацию виртуальной машины Java:
- 6.5.dconst_d dconst_<d>
- См. также:
BIPUSH
public static final Opcode BIPUSH
- См. Спецификацию виртуальной машины Java:
- 6.5.bipush bipush
- См. также:
SIPUSH
public static final Opcode SIPUSH
- См. Спецификацию виртуальной машины Java:
- 6.5.sipush sipush
- См. также:
LDC
public static final Opcode LDC
Положить элемент из пула констант во время выполнения.
- См. Спецификацию виртуальной машины Java:
- 6.5.ldc ldc
- См. также:
LDC_W
public static final Opcode LDC_W
Положить элемент из пула констант во время выполнения (широкий индекс).
- См. Спецификацию виртуальной машины Java:
- 6.5.ldc_w ldc_w
- См. также:
LDC2_W
public static final Opcode LDC2_W
- См. Спецификацию виртуальной машины Java:
- 6.5.ldc2_w ldc2_w
- См. также:
ILOAD
public static final Opcode ILOAD
Загрузить
int из локальной переменной.- См. Спецификацию виртуальной машины Java:
- 6.5.iload iload
- См. также:
LLOAD
public static final Opcode LLOAD
Загрузить
long из локальной переменной.- См. Спецификацию виртуальной машины Java:
- 6.5.lload lload
- См. также:
FLOAD
public static final Opcode FLOAD
Загрузить
float из локальной переменной.- См. Спецификацию виртуальной машины Java:
- 6.5.fload fload
- См. также:
DLOAD
public static final Opcode DLOAD
Загрузить
double из локальной переменной.- См. Спецификацию виртуальной машины Java:
- 6.5.dload dload
- См. также:
ALOAD
public static final Opcode ALOAD
Загрузить
reference из локальной переменной.- См. Спецификацию виртуальной машины Java:
- 6.5.aload aload
- См. также:
ILOAD_0
public static final Opcode ILOAD_0
Загрузить
int из слота локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.iload_n iload_<n>
- См. также:
ILOAD_1
public static final Opcode ILOAD_1
Загрузить
int из слота локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.iload_n iload_<n>
- См. также:
ILOAD_2
public static final Opcode ILOAD_2
Загрузить
int из слота локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.iload_n iload_<n>
- См. также:
ILOAD_3
public static final Opcode ILOAD_3
Загрузить
int из слота локальной переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.iload_n iload_<n>
- См. также:
LLOAD_0
public static final Opcode LLOAD_0
Загрузить
long из слота локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.lload_n lload_<n>
- См. также:
LLOAD_1
public static final Opcode LLOAD_1
Загрузить
long из слота локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.lload_n lload_<n>
- См. также:
LLOAD_2
public static final Opcode LLOAD_2
Загрузить
long из слота локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.lload_n lload_<n>
- См. также:
LLOAD_3
public static final Opcode LLOAD_3
Загрузка
long из локального слота переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.lload_n lload_<n>
- См. также:
FLOAD_0
public static final Opcode FLOAD_0
Загрузка
float из локального слота переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.fload_n fload_<n>
- См. также:
FLOAD_1
public static final Opcode FLOAD_1
Загрузка
float из локального слота переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.fload_n fload_<n>
- См. также:
FLOAD_2
public static final Opcode FLOAD_2
Загрузка
float из локального слота переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.fload_n fload_<n>
- См. также:
FLOAD_3
public static final Opcode FLOAD_3
Загрузка
float из локального слота переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.fload_n fload_<n>
- См. также:
DLOAD_0
public static final Opcode DLOAD_0
Загрузка
double из локального слота переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.dload_n dload_<n>
- См. также:
DLOAD_1
public static final Opcode DLOAD_1
Загрузка
double из локального слота переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.dload_n dload_<n>
- См. также:
DLOAD_2
public static final Opcode DLOAD_2
Загрузка
double из локального слота переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.dload_n dload_<n>
- См. также:
DLOAD_3
public static final Opcode DLOAD_3
Загрузка
double из локального слота переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.dload_n dload_<n>
- См. также:
ALOAD_0
public static final Opcode ALOAD_0
Загрузка
reference из локального слота переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.aload_n aload_<n>
- См. также:
ALOAD_1
public static final Opcode ALOAD_1
Загрузка
reference из локального слота переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.aload_n aload_<n>
- См. также:
ALOAD_2
public static final Opcode ALOAD_2
Загрузка
reference из локального слота переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.aload_n aload_<n>
- См. также:
ALOAD_3
public static final Opcode ALOAD_3
Загрузка
reference из локального слота переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.aload_n aload_<n>
- См. также:
IALOAD
public static final Opcode IALOAD
Загрузка
int из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.iaload iaload
- См. также:
LALOAD
public static final Opcode LALOAD
Загрузка
long из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.laload laload
- См. также:
FALOAD
public static final Opcode FALOAD
Загрузка
float из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.faload faload
- См. также:
DALOAD
public static final Opcode DALOAD
Загрузка
double из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.daload daload
- См. также:
AALOAD
public static final Opcode AALOAD
Загрузка
reference из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.aaload aaload
- См. также:
BALOAD
public static final Opcode BALOAD
- См. Спецификацию виртуальной машины Java:
- 6.5.baload baload
- См. также:
CALOAD
public static final Opcode CALOAD
Загрузка
char из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.caload caload
- См. также:
SALOAD
public static final Opcode SALOAD
Загрузка
short из массива.- См. Спецификацию виртуальной машины Java:
- 6.5.saload saload
- См. также:
ISTORE
public static final Opcode ISTORE
Сохранение
int в локальную переменную.- См. Спецификацию виртуальной машины Java:
- 6.5.istore istore
- См. также:
LSTORE
public static final Opcode LSTORE
Сохранение
long в локальную переменную.- См. Спецификацию виртуальной машины Java:
- 6.5.lstore lstore
- См. также:
FSTORE
public static final Opcode FSTORE
Сохранение
float в локальную переменную.- См. Спецификацию виртуальной машины Java:
- 6.5.fstore fstore
- См. также:
DSTORE
public static final Opcode DSTORE
Сохранение
double в локальную переменную.- См. Спецификацию виртуальной машины Java:
- 6.5.dstore dstore
- См. также:
ASTORE
public static final Opcode ASTORE
Сохранение
reference в локальную переменную. Также можно сохранить тип returnAddress.- См. Спецификацию виртуальной машины Java:
- 6.5.astore astore
- См. также:
ISTORE_0
public static final Opcode ISTORE_0
Сохранение
int в слот локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.istore_n istore_<n>
- См. также:
ISTORE_1
public static final Opcode ISTORE_1
Сохранение
int в слот локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.istore_n istore_<n>
- См. также:
ISTORE_2
public static final Opcode ISTORE_2
Сохранение
int в слот локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.istore_n istore_<n>
- См. также:
ISTORE_3
public static final Opcode ISTORE_3
Сохранение
int в слот локальной переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.istore_n istore_<n>
- См. также:
LSTORE_0
public static final Opcode LSTORE_0
Сохранение
long в слот локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.lstore_n lstore_<n>
- См. также:
LSTORE_1
public static final Opcode LSTORE_1
Сохранение
long в слот локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.lstore_n lstore_<n>
- См. также:
LSTORE_2
public static final Opcode LSTORE_2
Сохранение
long в слот локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.lstore_n lstore_<n>
- См. также:
LSTORE_3
public static final Opcode LSTORE_3
Сохранение
long в слот локальной переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.lstore_n lstore_<n>
- См. также:
FSTORE_0
public static final Opcode FSTORE_0
Сохранение
float в слот локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.fstore_n fstore_<n>
- См. также:
FSTORE_1
public static final Opcode FSTORE_1
Сохранение
float в слот локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.fstore_n fstore_<n>
- См. также:
FSTORE_2
public static final Opcode FSTORE_2
Сохранение
float в слот локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.fstore_n fstore_<n>
- См. также:
FSTORE_3
public static final Opcode FSTORE_3
Сохранение
float в слот локальной переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.fstore_n fstore_<n>
- См. также:
DSTORE_0
public static final Opcode DSTORE_0
Сохранить
double в слот локальной переменной 0.- См. Спецификацию виртуальной машины Java:
- 6.5.dstore_n dstore_<n>
- См. также:
DSTORE_1
public static final Opcode DSTORE_1
Сохранить
double в слот локальной переменной 1.- См. Спецификацию виртуальной машины Java:
- 6.5.dstore_n dstore_<n>
- См. также:
DSTORE_2
public static final Opcode DSTORE_2
Сохранить
double в слот локальной переменной 2.- См. Спецификацию виртуальной машины Java:
- 6.5.dstore_n dstore_<n>
- См. также:
DSTORE_3
public static final Opcode DSTORE_3
Сохранить
double в слот локальной переменной 3.- См. Спецификацию виртуальной машины Java:
- 6.5.dstore_n dstore_<n>
- См. также:
ASTORE_0
public static final Opcode ASTORE_0
- См. Спецификацию виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_1
public static final Opcode ASTORE_1
- См. Спецификацию виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_2
public static final Opcode ASTORE_2
- См. Спецификацию виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_3
public static final Opcode ASTORE_3
- См. Спецификацию виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
IASTORE
public static final Opcode IASTORE
Сохранить в массив
int.- См. Спецификацию виртуальной машины Java:
- 6.5.iastore iastore
- См. также:
LASTORE
public static final Opcode LASTORE
Сохранить в массив
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lastore lastore
- См. также:
FASTORE
public static final Opcode FASTORE
Сохранить в массив
float.- См. Спецификацию виртуальной машины Java:
- 6.5.fastore fastore
- См. также:
DASTORE
public static final Opcode DASTORE
Сохранить в массив
double.- См. Спецификацию виртуальной машины Java:
- 6.5.dastore dastore
- См. также:
AASTORE
public static final Opcode AASTORE
Сохранить в массив
reference.- См. Спецификацию виртуальной машины Java:
- 6.5.aastore aastore
- См. также:
BASTORE
public static final Opcode BASTORE
- См. Спецификацию виртуальной машины Java:
- 6.5.bastore bastore
- См. также:
CASTORE
public static final Opcode CASTORE
Сохранить в массив
char.- См. Спецификацию виртуальной машины Java:
- 6.5.castore castore
- См. также:
SASTORE
public static final Opcode SASTORE
Сохранить в массив
short.- См. Спецификацию виртуальной машины Java:
- 6.5.sastore sastore
- См. также:
POP
public static final Opcode POP
Извлечь верхнее значение стека операндов.
- См. Спецификацию виртуальной машины Java:
- 6.5.pop pop
- См. также:
POP2
public static final Opcode POP2
Извлечь одно или два верхних значения стека операндов.
- См. Спецификацию виртуальной машины Java:
- 6.5.pop2 pop2
- См. также:
DUP
public static final Opcode DUP
Дублировать верхнее значение стека операндов.
- См. Спецификацию виртуальной машины Java:
- 6.5.dup dup
- См. также:
DUP_X1
public static final Opcode DUP_X1
Дублировать значение из верхней части стека операндов и вставить два значения ниже.
- См. Java Virtual Machine Specification:
- 6.5.dup_x1 dup_x1
- См. также:
DUP_X2
public static final Opcode DUP_X2
Дублировать значение из верхней части стека операндов и вставить два или три значения ниже.
- См. Java Virtual Machine Specification:
- 6.5.dup_x2 dup_x2
- См. также:
DUP2
public static final Opcode DUP2
Дублировать одно или два верхних значения стека операндов.
- См. Java Virtual Machine Specification:
- 6.5.dup2 dup2
- См. также:
DUP2_X1
public static final Opcode DUP2_X1
Дублировать одно или два верхних значения стека операндов и вставить два или три значения ниже.
- См. Java Virtual Machine Specification:
- 6.5.dup2_x1 dup2_x1
- См. также:
DUP2_X2
public static final Opcode DUP2_X2
Дублировать одно или два верхних значения стека операндов и вставить два, три или четыре значения ниже.
- См. Java Virtual Machine Specification:
- 6.5.dup2_x2 dup2_x2
- См. также:
SWAP
public static final Opcode SWAP
Поменять местами два верхних значения стека операндов.
- См. Java Virtual Machine Specification:
- 6.5.swap swap
- См. также:
IADD
public static final Opcode IADD
Сложить
int.- См. Java Virtual Machine Specification:
- 6.5.iadd iadd
- См. также:
LADD
public static final Opcode LADD
Сложить
long.- См. Java Virtual Machine Specification:
- 6.5.ladd ladd
- См. также:
FADD
public static final Opcode FADD
Сложить
float.- См. Java Virtual Machine Specification:
- 6.5.fadd fadd
- См. также:
DADD
public static final Opcode DADD
Сложить
double.- См. Java Virtual Machine Specification:
- 6.5.dadd dadd
- См. также:
ISUB
public static final Opcode ISUB
Вычесть
int.- См. Java Virtual Machine Specification:
- 6.5.isub isub
- См. также:
LSUB
public static final Opcode LSUB
Вычесть
long.- См. Java Virtual Machine Specification:
- 6.5.lsub lsub
- См. также:
FSUB
public static final Opcode FSUB
Вычесть
float.- См. Java Virtual Machine Specification:
- 6.5.fsub fsub
- См. также:
DSUB
public static final Opcode DSUB
Вычесть
double.- См. Java Virtual Machine Specification:
- 6.5.dsub dsub
- См. также:
IMUL
public static final Opcode IMUL
Умножить
int.- См. Java Virtual Machine Specification:
- 6.5.imul imul
- См. также:
LMUL
public static final Opcode LMUL
Умножить
long.- См. Java Virtual Machine Specification:
- 6.5.lmul lmul
- См. также:
FMUL
public static final Opcode FMUL
Умножить
float.- См. Java Virtual Machine Specification:
- 6.5.fmul fmul
- См. также:
DMUL
public static final Opcode DMUL
Умножить
double.- См. Java Virtual Machine Specification:
- 6.5.dmul dmul
- См. также:
IDIV
public static final Opcode IDIV
Разделить
int.- См. Java Virtual Machine Specification:
- 6.5.idiv idiv
- См. также:
LDIV
public static final Opcode LDIV
Разделить
long.- См. Java Virtual Machine Specification:
- 6.5.ldiv ldiv
- См. также:
FDIV
public static final Opcode FDIV
Разделить
float.- См. Java Virtual Machine Specification:
- 6.5.fdiv fdiv
- См. также:
DDIV
public static final Opcode DDIV
Деление
double.- См. Спецификацию виртуальной машины Java:
- 6.5.ddiv ddiv
- См. также:
IREM
public static final Opcode IREM
Остаток от деления
int.- См. Спецификацию виртуальной машины Java:
- 6.5.irem irem
- См. также:
LREM
public static final Opcode LREM
Остаток от деления
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lrem lrem
- См. также:
FREM
public static final Opcode FREM
Остаток от деления
float.- См. Спецификацию виртуальной машины Java:
- 6.5.frem frem
- См. также:
DREM
public static final Opcode DREM
Остаток от деления
double.- См. Спецификацию виртуальной машины Java:
- 6.5.drem drem
- См. также:
INEG
public static final Opcode INEG
Изменение знака
int.- См. Спецификацию виртуальной машины Java:
- 6.5.ineg ineg
- См. также:
LNEG
public static final Opcode LNEG
Изменение знака
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lneg lneg
- См. также:
FNEG
public static final Opcode FNEG
Изменение знака
float.- См. Спецификацию виртуальной машины Java:
- 6.5.fneg fneg
- См. также:
DNEG
public static final Opcode DNEG
Изменение знака
double.- См. Спецификацию виртуальной машины Java:
- 6.5.dneg dneg
- См. также:
ISHL
public static final Opcode ISHL
Сдвиг влево
int.- См. Спецификацию виртуальной машины Java:
- 6.5.ishl ishl
- См. также:
LSHL
public static final Opcode LSHL
Сдвиг влево
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lshl lshl
- См. также:
ISHR
public static final Opcode ISHR
Арифметический сдвиг вправо
int.- См. Спецификацию виртуальной машины Java:
- 6.5.ishr ishr
- См. также:
LSHR
public static final Opcode LSHR
Арифметический сдвиг вправо
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lshr lshr
- См. также:
IUSHR
public static final Opcode IUSHR
Логический сдвиг вправо
int.- См. Спецификацию виртуальной машины Java:
- 6.5.iushr iushr
- См. также:
LUSHR
public static final Opcode LUSHR
Логический сдвиг вправо
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lushr lushr
- См. также:
IAND
public static final Opcode IAND
Побитовое И
int.- Примечание API:
- Это может быть использовано для реализации логического И
boolean. - См. Спецификацию виртуальной машины Java:
- 6.5.iand iand
- См. также:
LAND
public static final Opcode LAND
Побитовое И
long.- См. Спецификацию виртуальной машины Java:
- 6.5.land land
- См. также:
IOR
public static final Opcode IOR
Побитовое ИЛИ
int.- Примечание API:
- Это может быть использовано для реализации логического ИЛИ
boolean. - См. Спецификацию виртуальной машины Java:
- 6.5.ior ior
- См. также:
LOR
public static final Opcode LOR
Побитовое ИЛИ
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lor lor
- См. также:
IXOR
public static final Opcode IXOR
Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ
int.- Примечание API:
- Это может быть использовано для реализации логического ИСКЛЮЧАЮЩЕГО ИЛИ
boolean. - См. Спецификацию виртуальной машины Java:
- 6.5.ixor ixor
- См. также:
LXOR
public static final Opcode LXOR
Побитовое XOR
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lxor lxor
- См. также:
IINC
public static final Opcode IINC
Увеличить локальную переменную типа
int на константу.- См. Спецификацию виртуальной машины Java:
- 6.5.iinc iinc
- См. также:
I2L
public static final Opcode I2L
- См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.i2l i2l
- См. также:
I2F
public static final Opcode I2F
- См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.i2f i2f
- См. также:
I2D
public static final Opcode I2D
- См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.i2d i2d
- См. также:
L2I
public static final Opcode L2I
- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.l2i l2i
- См. также:
L2F
public static final Opcode L2F
- См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.l2f l2f
- См. также:
L2D
public static final Opcode L2D
- См. Спецификацию виртуальной машины Java:
- 6.5.l2d l2d
- См. также:
F2I
public static final Opcode F2I
- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.f2i f2i
- См. также:
F2L
public static final Opcode F2L
- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.f2l f2l
- См. также:
F2D
public static final Opcode F2D
- См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.f2d f2d
- См. также:
D2I
public static final Opcode D2I
- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.d2i d2i
- См. также:
D2L
public static final Opcode D2L
- См. Спецификацию виртуальной машины Java:
- 6.5.d2l d2l
- См. также:
D2F
public static final Opcode D2F
- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.d2f d2f
- См. также:
I2B
public static final Opcode I2B
Преобразовать
int в byte. Это эквивалентно сохранению вычислительного int в byte и последующей загрузке обратно.- См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивных типов
- См. Спецификацию виртуальной машины Java:
- 6.5.i2b i2b
- См. также:
I2C
public static final Opcode I2C
Преобразовать
int в char. Это как если бы сохранить вычислительный int в char и загрузить его обратно.- См. Спецификацию языка Java:
- 5.1.3 Сужение примитивного преобразования
- См. Спецификацию виртуальной машины Java:
- 6.5.i2c i2c
- См. также:
I2S
public static final Opcode I2S
Преобразовать
int в short. Это как если бы сохранить вычислительный int в short и загрузить его обратно.- См. Спецификацию языка Java:
- 5.1.3 Сужение примитивного преобразования
- См. Спецификацию виртуальной машины Java:
- 6.5.i2s i2s
- См. также:
LCMP
public static final Opcode LCMP
Сравнить
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lcmp lcmp
- См. также:
FCMPL
public static final Opcode FCMPL
- См. Спецификацию виртуальной машины Java:
- 6.5.fcmp_op fcmp<op>
- См. также:
FCMPG
public static final Opcode FCMPG
- См. Спецификацию виртуальной машины Java:
- 6.5.fcmp_op fcmp<op>
- См. также:
DCMPL
public static final Opcode DCMPL
- См. Спецификацию виртуальной машины Java:
- 6.5.dcmp_op dcmp<op>
- См. также:
DCMPG
public static final Opcode DCMPG
- См. Спецификацию виртуальной машины Java:
- 6.5.dcmp_op dcmp<op>
- См. также:
IFEQ
public static final Opcode IFEQ
Переход, если сравнение
int == 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IFNE
public static final Opcode IFNE
Переход, если сравнение
int != 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IFLT
public static final Opcode IFLT
Переход, если сравнение
int < 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IFGE
public static final Opcode IFGE
Переход, если сравнение
int >= 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IFGT
public static final Opcode IFGT
Переход, если сравнение
int > 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IFLE
public static final Opcode IFLE
Переход, если сравнение
int <= 0 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_cond if_<cond>
- См. также:
IF_ICMPEQ
public static final Opcode IF_ICMPEQ
Переход, если сравнение
int operand1 == operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ICMPNE
public static final Opcode IF_ICMPNE
Переход, если сравнение
int operand1 != operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ICMPLT
public static final Opcode IF_ICMPLT
Переход, если сравнение
int operand1 < operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ICMPGE
public static final Opcode IF_ICMPGE
Ветвление, если сравнение значений типа
int operand1 >= operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ICMPGT
public static final Opcode IF_ICMPGT
Ветвление, если сравнение значений типа
int operand1 > operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ICMPLE
public static final Opcode IF_ICMPLE
Ветвление, если сравнение значений типа
int operand1 <= operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_icmp_cond if_icmp<cond>
- См. также:
IF_ACMPEQ
public static final Opcode IF_ACMPEQ
Ветвление, если сравнение ссылочных значений
reference operand1 == operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_acmp_cond if_acmp<cond>
- См. также:
IF_ACMPNE
public static final Opcode IF_ACMPNE
Ветвление, если сравнение ссылочных значений
reference operand1 != operand2 успешно.- См. Спецификацию виртуальной машины Java:
- 6.5.if_acmp_cond if_acmp<cond>
- См. также:
GOTO
public static final Opcode GOTO
Безусловный переход.
- См. Спецификацию виртуальной машины Java:
- 6.5.goto goto
- См. также:
JSR
public static final Opcode JSR
(Отменено) Переход в подпрограмму; последний раз использовался в основной версии 50.
- См. Спецификацию виртуальной машины Java:
- 4.9.1 Статические ограничения
6.5.jsr jsr
- См. также:
RET
public static final Opcode RET
(Отменено) Возврат из подпрограммы; последний раз использовался в основной версии 50.
- См. Спецификацию виртуальной машины Java:
- 4.9.1 Статические ограничения
6.5.ret ret
- См. также:
TABLESWITCH
public static final Opcode TABLESWITCH
Доступ к таблице переходов по индексу и переход.
- См. Спецификацию виртуальной машины Java:
- 6.5.tableswitch tableswitch
- См. также:
LOOKUPSWITCH
public static final Opcode LOOKUPSWITCH
Доступ к таблице переходов по соответствию ключа и переход.
- См. Спецификацию виртуальной машины Java:
- 6.5.lookupswitch lookupswitch
- См. также:
IRETURN
public static final Opcode IRETURN
Возврат значения типа
int из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.ireturn ireturn
- См. также:
LRETURN
public static final Opcode LRETURN
Возврат значения типа
long из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.lreturn lreturn
- См. также:
FRETURN
public static final Opcode FRETURN
Возврат значения типа
float из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.freturn freturn
- См. также:
DRETURN
public static final Opcode DRETURN
Возврат значения типа
double из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.dreturn dreturn
- См. также:
ARETURN
public static final Opcode ARETURN
Возврат значения типа
reference из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.areturn areturn
- См. также:
RETURN
public static final Opcode RETURN
Возврат значения типа
void из метода.- См. Спецификацию виртуальной машины Java:
- 6.5.return return
- См. также:
GETSTATIC
public static final Opcode GETSTATIC
Получение статического поля из класса.
- См. Спецификацию виртуальной машины Java:
- 6.5.getstatic getstatic
- См. также:
PUTSTATIC
public static final Opcode PUTSTATIC
Установление статического поля в классе.
- См. Спецификацию виртуальной машины Java:
- 6.5.putstatic putstatic
- См. также:
GETFIELD
public static final Opcode GETFIELD
Извлечение поля из объекта.
- См. Спецификацию виртуальной машины Java:
- 6.5.getfield getfield
- См. также:
PUTFIELD
public static final Opcode PUTFIELD
Устанавливает поле в объекте.
- См. Спецификацию виртуальной машины Java:
- 6.5.putfield putfield
- См. также:
INVOKEVIRTUAL
public static final Opcode INVOKEVIRTUAL
Вызов метода экземпляра; диспетчеризация на основе класса.
- См. Спецификацию виртуальной машины Java:
- 6.5.invokevirtual invokevirtual
- См. также:
INVOKESPECIAL
public static final Opcode INVOKESPECIAL
Вызов метода экземпляра; прямой вызов методов инициализации экземпляров и методов текущего класса и его супертипов.
- См. Спецификацию виртуальной машины Java:
- 6.5.invokevirtual invokevirtual
- См. также:
INVOKESTATIC
public static final Opcode INVOKESTATIC
Вызов метода класса (
static).- См. Спецификацию виртуальной машины Java:
- 6.5.invokestatic invokestatic
- См. также:
INVOKEINTERFACE
public static final Opcode INVOKEINTERFACE
Вызов метода интерфейса.
- См. Спецификацию виртуальной машины Java:
- 6.5.invokeinterface invokeinterface
- См. также:
INVOKEDYNAMIC
public static final Opcode INVOKEDYNAMIC
Вызов вычислительного узла, вычисленного динамически.
- См. Спецификацию виртуальной машины Java:
- 6.5.invokedynamic invokedynamic
- См. также:
NEW
public static final Opcode NEW
Создание нового объекта.
- См. Спецификацию виртуальной машины Java:
- 6.5.new new
- См. также:
NEWARRAY
public static final Opcode NEWARRAY
Создание нового массива.
- См. Спецификацию виртуальной машины Java:
- 6.5.newarray newarray
- См. также:
ANEWARRAY
public static final Opcode ANEWARRAY
Создание нового массива типа
reference.- См. Спецификацию виртуальной машины Java:
- 6.5.anewarray anewarray
- См. также:
ARRAYLENGTH
public static final Opcode ARRAYLENGTH
Получение длины массива.
- См. Спецификацию виртуальной машины Java:
- 6.5.arraylength arraylength
- См. также:
ATHROW
public static final Opcode ATHROW
Выбрасывание исключения или ошибки.
- См. Спецификацию виртуальной машины Java:
- 6.5.athrow athrow
- См. также:
CHECKCAST
public static final Opcode CHECKCAST
Проверка, является ли объект заданного типа.
- См. Спецификацию виртуальной машины Java:
- 6.5.checkcast checkcast
- См. также:
INSTANCEOF
public static final Opcode INSTANCEOF
Определение, является ли объект заданного типа.
- См. Спецификацию виртуальной машины Java:
- 6.5.instanceof instanceof
- См. также:
MONITORENTER
public static final Opcode MONITORENTER
Вход в монитор для объекта.
- См. Спецификацию виртуальной машины Java:
- 6.5.monitorenter monitorenter
- См. также:
MONITOREXIT
public static final Opcode MONITOREXIT
Выход из монитора для объекта.
- См. Спецификацию виртуальной машины Java:
- 6.5.monitorexit monitorexit
- См. также:
MULTIANEWARRAY
public static final Opcode MULTIANEWARRAY
Создание многомерного массива.
- См. Спецификацию виртуальной машины Java:
- 6.5.multianewarray multianewarray
- См. также:
IFNULL
public static final Opcode IFNULL
Переход, если
reference равен null.- См. Спецификацию виртуальной машины Java:
- 6.5.ifnull ifnull
- См. также:
IFNONNULL
public static final Opcode IFNONNULL
Переход, если
reference не равен null.- См. Спецификацию виртуальной машины Java:
- 6.5.ifnonnull ifnonnull
- См. также:
GOTO_W
public static final Opcode GOTO_W
Всегда переход (широкий индекс).
- См. Спецификацию виртуальной машины Java:
- 6.5.goto_w goto_w
- См. также:
JSR_W
public static final Opcode JSR_W
(Отменено) Переход подпрограмме (широкий индекс); в последний раз использовался в основной версии 50.
- См. Спецификацию виртуальной машины Java:
- 4.9.1 Статические ограничения
6.5.jsr_w jsr_w
- См. также:
ILOAD_W
public static final Opcode ILOAD_W
Загрузка целого
int из локальной переменной (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.iload iload
- См. также:
LLOAD_W
public static final Opcode LLOAD_W
Загрузка
long из локальной переменной (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.lload lload
- См. также:
FLOAD_W
public static final Opcode FLOAD_W
Загрузка
float из локальной переменной (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.fload fload
- См. также:
DLOAD_W
public static final Opcode DLOAD_W
Загрузка
double из локальной переменной (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.dload dload
- См. также:
ALOAD_W
public static final Opcode ALOAD_W
Загрузка
reference из локальной переменной (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.aload aload
- См. также:
ISTORE_W
public static final Opcode ISTORE_W
Сохранение целого
int в локальную переменную (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.istore istore
- См. также:
LSTORE_W
public static final Opcode LSTORE_W
Сохранение
long в локальную переменную (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.lstore lstore
- См. также:
FSTORE_W
public static final Opcode FSTORE_W
Сохранение
float в локальную переменную (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.fstore fstore
- См. также:
DSTORE_W
public static final Opcode DSTORE_W
Сохранение
double в локальную переменную (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.dstore dstore
- См. также:
ASTORE_W
public static final Opcode ASTORE_W
Сохранение
reference в локальную переменную (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого. Также может хранить тип returnAddress.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.astore astore
- См. также:
RET_W
public static final Opcode RET_W
(Отменено) Возврат из подпрограммы (широкий индекс); последний раз использовался в версии 50 Java. Это псевдо-оператор, модифицированный с помощью широкого.
- См. Спецификацию виртуальной машины Java:
- 4.9.1 Статические ограничения
6.5.wide wide
6.5.ret ret
- См. также:
IINC_W
public static final Opcode IINC_W
Инкремент локальной переменной на константу (широкий индекс). Это псевдо-оператор, модифицированный с помощью широкого.
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.iinc iinc
- См. также:
Подробные сведения о методах
values
public static Opcode[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
- Возвращает:
- массив, содержащий константы этого класса перечисления в порядке их объявления
valueOf
public static Opcode valueOf(String name)
Возвращает константу перечисления этого класса с заданным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом классе. (Дополнительные пробелы не допускаются.)
- Параметры:
-
name- имя возвращаемой константы перечисления. - Возвращает:
- константу перечисления с заданным именем
- Исключения:
-
IllegalArgumentException- если в этом классе перечисления нет константы с указанным именем -
NullPointerException- если аргумент имеет значение null
bytecode
public int bytecode()
Возвращает значение операционного кода. Для псевдо-операторов wide возвращает первые 2 байта инструкции, которые представляют собой широкое
196 (0xC4) и функциональный операционный код в виде значения U2.- Возвращает:
- значение операционного кода
isWide
public boolean isWide()
Возвращает true, если это псевдо-операнд, изменённый операндом wide.
wide увеличивает индекс локальной переменной на дополнительные байты.
- Возвращает:
- true, если это псевдо-операнд, изменённый операндом wide
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
- См. также:
sizeIfFixed
public int sizeIfFixed()
Возвращает размер инструкции в байтах, если она фиксированная, иначе -1. Этот размер включает сам операнд.
- Возвращает:
- размер инструкции в байтах, если она фиксированная, иначе -1
- См. также:
kind
public Opcode.Kind kind()
Возвращает вид операции. Каждый вид операции имеет свой собственный интерфейс моделирования для моделирования инструкций, относящихся к этому виду.
- Возвращает:
- вид операции
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/Opcode.html