Перечисление 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> | Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
Enum.EnumDesc<E extends Enum<E>> |
Номинальный дескриптор константы enum. |
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
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, если это псевдоопкод, модифицированный опкодом wide. |
Opcode.Kind |
kind() |
Возвращает тип операции. |
int |
sizeIfFixed() |
Возвращает размер инструкции в байтах, если он фиксирован, или -1 в противном случае. |
static Opcode |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static Opcode[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Методы, объявленные в классе Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf | Модификатор и тип | Метод | Описание |
|---|---|---|
protected final Object |
clone() |
Выбрасывает CloneNotSupportedException. |
final int |
compareTo |
Сравнивает это перечисление с указанным объектом, определяя порядок. |
final Optional |
describeConstable() |
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его невозможно. |
final boolean |
equals |
Возвращает true, если указанный объект равен этой константе перечисления. |
protected final void |
finalize() |
Устарело и будет удалено: этот элемент API может быть удален в будущей версии. Финализация признана устаревшей и будет удалена. |
final Class |
getDeclaringClass() |
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления. |
final int |
hashCode() |
Возвращает хеш-код этой константы перечисления. |
final String |
name() |
Возвращает имя этой константы перечисления в точности в том виде, в котором оно указано в объявлении перечисления. |
final int |
ordinal() |
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления; первой константе присваивается номер 0). |
String |
toString() |
Возвращает имя этой константы перечисления в том виде, в котором оно указано в объявлении. |
static <T extends Enum<T>> |
valueOf |
Возвращает константу указанного класса перечисления с указанным именем. |
Методы, объявленные в классе Object
getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание констант перечисления
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:
- 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
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.iload iload
- См. также:
LLOAD_W
public static final Opcode LLOAD_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.lload lload
- См. также:
FLOAD_W
public static final Opcode FLOAD_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.fload fload
- См. также:
DLOAD_W
public static final Opcode DLOAD_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.dload dload
- См. также:
ALOAD_W
public static final Opcode ALOAD_W
Загрузить
reference из локальной переменной (широкий индекс). Это псевдоопкод, модифицированный wide.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.aload aload
- См. также:
ISTORE_W
public static final Opcode ISTORE_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.istore istore
- См. также:
LSTORE_W
public static final Opcode LSTORE_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.lstore lstore
- См. также:
FSTORE_W
public static final Opcode FSTORE_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.fstore fstore
- См. также:
DSTORE_W
public static final Opcode DSTORE_W
- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.dstore dstore
- См. также:
ASTORE_W
public static final Opcode ASTORE_W
Сохранить
reference в локальную переменную (широкий индекс). Это псевдоопкод, модифицированный wide. Также может сохранять значение типа returnAddress.- См. Спецификацию виртуальной машины Java:
- 6.5.wide wide
6.5.astore astore
- См. также:
RET_W
public static final Opcode RET_W
(Не используется) Возврат из подпрограммы (широкий индекс); последняя использованная основная версия — 50. Это псевдоопкод, модифицированный wide.
- См. Спецификацию виртуальной машины Java:
- 4.9.1 Статические ограничения
6.5.wide wide
6.5.ret ret
- См. также:
IINC_W
public static final Opcode IINC_W
Увеличить значение локальной переменной на константу (широкий индекс). Это псевдоопкод, модифицированный wide.
- См. Спецификацию виртуальной машины 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 байта инструкции — опкод wide
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.