Класс перечисления 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 |
Виды кодов операций. |
Вложенные классы/интерфейсы, объявленные в классе Enum
Enum.EnumDesc<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 1.0F. |
FCONST_2 |
Поместить в стек константу float 2.0F. |
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 |
Побитовое исключающее ИЛИ для значений типа 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 |
Побитовое исключающее ИЛИ 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, если это псевдокод операции, модифицированный широким кодом операции. |
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
Поместить значение типа
int, полученное знаковым расширением непосредственного значения типа byte, в стек.- См. Спецификация виртуальной машины Java:
- 6.5.bipush bipush
- См. также:
SIPUSH
public static final Opcode SIPUSH
Поместить значение типа
int, полученное знаковым расширением непосредственного значения типа short, в стек.- См. Спецификация виртуальной машины 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
Поместить значение типа
long или double из пула констант времени выполнения в стек (широкий индекс).- См. Спецификация виртуальной машины 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
Сохранить
reference в ячейку 0 локальной переменной. Также можно сохранить значение типа returnAddress.- См. Спецификация виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_1
public static final Opcode ASTORE_1
Сохранить
reference в ячейку 1 локальной переменной. Также можно сохранить значение типа returnAddress.- См. Спецификация виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_2
public static final Opcode ASTORE_2
Сохранить
reference в ячейку 2 локальной переменной. Также можно сохранить значение типа returnAddress.- См. Спецификация виртуальной машины Java:
- 6.5.astore_n astore_<n>
- См. также:
ASTORE_3
public static final Opcode ASTORE_3
Сохранить
reference в ячейку 3 локальной переменной. Также можно сохранить значение типа returnAddress.- См. Спецификация виртуальной машины 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:
- 6.5.dup_x1 dup_x1
- См. также:
DUP_X2
public static final Opcode DUP_X2
Дублировать верхнее значение стека операндов и вставить его на две или три позиции ниже.
- См. Спецификация виртуальной машины Java:
- 6.5.dup_x2 dup_x2
- См. также:
DUP2
public static final Opcode DUP2
Дублировать одно или два верхних значения стека операндов.
- См. Спецификация виртуальной машины Java:
- 6.5.dup2 dup2
- См. также:
DUP2_X1
public static final Opcode DUP2_X1
Дублировать одно или два верхних значения стека операндов и вставить их на две или три позиции ниже.
- См. Спецификация виртуальной машины Java:
- 6.5.dup2_x1 dup2_x1
- См. также:
DUP2_X2
public static final Opcode DUP2_X2
Дублировать одно или два верхних значения стека операндов и вставить их на две, три или четыре позиции ниже.
- См. Спецификация виртуальной машины Java:
- 6.5.dup2_x2 dup2_x2
- См. также:
SWAP
public static final Opcode SWAP
Поменять местами два верхних значения стека операндов.
- См. Спецификация виртуальной машины Java:
- 6.5.swap swap
- См. также:
IADD
public static final Opcode IADD
Сложить значения типа
int.- См. Спецификация виртуальной машины Java:
- 6.5.iadd iadd
- См. также:
LADD
public static final Opcode LADD
Сложить значения типа
long.- См. Спецификация виртуальной машины Java:
- 6.5.ladd ladd
- См. также:
FADD
public static final Opcode FADD
Сложение
float.- См. Спецификацию виртуальной машины Java:
- 6.5.fadd fadd
- См. также:
DADD
public static final Opcode DADD
Сложение
double.- См. Спецификацию виртуальной машины Java:
- 6.5.dadd dadd
- См. также:
ISUB
public static final Opcode ISUB
Вычитание
int.- См. Спецификацию виртуальной машины Java:
- 6.5.isub isub
- См. также:
LSUB
public static final Opcode LSUB
Вычитание
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lsub lsub
- См. также:
FSUB
public static final Opcode FSUB
Вычитание
float.- См. Спецификацию виртуальной машины Java:
- 6.5.fsub fsub
- См. также:
DSUB
public static final Opcode DSUB
Вычитание
double.- См. Спецификацию виртуальной машины Java:
- 6.5.dsub dsub
- См. также:
IMUL
public static final Opcode IMUL
Умножение
int.- См. Спецификацию виртуальной машины Java:
- 6.5.imul imul
- См. также:
LMUL
public static final Opcode LMUL
Умножение
long.- См. Спецификацию виртуальной машины Java:
- 6.5.lmul lmul
- См. также:
FMUL
public static final Opcode FMUL
Умножение
float.- См. Спецификацию виртуальной машины Java:
- 6.5.fmul fmul
- См. также:
DMUL
public static final Opcode DMUL
Умножение
double.- См. Спецификацию виртуальной машины Java:
- 6.5.dmul dmul
- См. также:
IDIV
public static final Opcode IDIV
Деление
int.- См. Спецификацию виртуальной машины Java:
- 6.5.idiv idiv
- См. также:
LDIV
public static final Opcode LDIV
Деление
long.- См. Спецификацию виртуальной машины Java:
- 6.5.ldiv ldiv
- См. также:
FDIV
public static final Opcode FDIV
Деление
float.- См. Спецификацию виртуальной машины Java:
- 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
Побитовое исключающее ИЛИ
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:
- 5.1.2 Расширяющее преобразование примитивного типа
- См. Спецификацию виртуальной машины 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
Получает
static поле класса.- См. Спецификацию виртуальной машины Java:
- 6.5.getstatic getstatic
- См. также:
PUTSTATIC
public static final Opcode PUTSTATIC
Устанавливает
static поле класса.- См. Спецификацию виртуальной машины 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 Virtual Machine Specification:
- 6.5.ifnonnull ifnonnull
- См. также:
GOTO_W
public static final Opcode GOTO_W
Безусловный переход (расширенный индекс).
- См. Java Virtual Machine Specification:
- 6.5.goto_w goto_w
- См. также:
JSR_W
public static final Opcode JSR_W
(Не используется) Переход к подпрограмме (расширенный индекс); в последний раз использовался в старшей версии 50.
- См. Java Virtual Machine Specification:
- 4.9.1 Статические ограничения
6.5.jsr_w jsr_w
- См. также:
ILOAD_W
public static final Opcode ILOAD_W
Загрузить
int из локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.iload iload
- См. также:
LLOAD_W
public static final Opcode LLOAD_W
Загрузить
long из локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.lload lload
- См. также:
FLOAD_W
public static final Opcode FLOAD_W
Загрузить
float из локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.fload fload
- См. также:
DLOAD_W
public static final Opcode DLOAD_W
Загрузить
double из локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.dload dload
- См. также:
ALOAD_W
public static final Opcode ALOAD_W
Загрузить
reference из локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.aload aload
- См. также:
ISTORE_W
public static final Opcode ISTORE_W
Сохранить
int в локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.istore istore
- См. также:
LSTORE_W
public static final Opcode LSTORE_W
Сохранить
long в локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.lstore lstore
- См. также:
FSTORE_W
public static final Opcode FSTORE_W
Сохранить
float в локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.fstore fstore
- См. также:
DSTORE_W
public static final Opcode DSTORE_W
Сохранить
double в локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.dstore dstore
- См. также:
ASTORE_W
public static final Opcode ASTORE_W
Сохранить
reference в локальной переменной (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide. Также может сохранять значение типа returnAddress.- См. Java Virtual Machine Specification:
- 6.5.wide wide
6.5.astore astore
- См. также:
RET_W
public static final Opcode RET_W
(Не используется) Возврат из подпрограммы (расширенный индекс); в последний раз использовался в старшей версии 50. Это псевдоопкод, модифицированный опкодом wide.
- См. Java Virtual Machine Specification:
- 4.9.1 Статические ограничения
6.5.wide wide
6.5.ret ret
- См. также:
IINC_W
public static final Opcode IINC_W
Увеличить значение локальной переменной на константу (расширенный индекс). Это псевдоопкод, модифицированный опкодом wide.
- См. Java Virtual Machine Specification:
- 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 байта инструкции, то есть опкод wide
196 (0xC4) и функциональный опкод, в виде значения U2.- Возвращает:
- значение опкода
isWide
public boolean isWide()
Возвращает true, если это псевдоопкод, модифицированный опкодом wide.
wide расширяет индекс локальной переменной дополнительными байтами.
- Возвращает:
- true, если это псевдоопкод, модифицированный опкодом wide
- См. Java Virtual Machine Specification:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/Opcode.html