- 浏览: 310700 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
指令码 |
助记符 |
功能描述 |
||||||||||||
0x00 |
nop |
无操作 |
||||||||||||
|
||||||||||||||
0x01 |
aconst_null |
指令格式: aconst_null
功能描述: null进栈。
注意:JVM并没有为null指派一个具体的值。
|
||||||||||||
|
||||||||||||||
0x02 |
iconst_m1 |
int型常量值-1进栈 |
||||||||||||
0x03 |
iconst_0 |
int型常量值0进栈 |
||||||||||||
0x04 |
iconst_1 |
int型常量值1进栈 |
||||||||||||
0x05 |
iconst_2 |
int型常量值2进栈 |
||||||||||||
0x06 |
iconst_3 |
int型常量值3进栈 |
||||||||||||
0x07 |
iconst_4 |
int型常量值4进栈 |
||||||||||||
0x08 |
iconst_5 |
int型常量值5进栈 |
||||||||||||
|
||||||||||||||
0x09 |
lconst_0 |
long型常量值0进栈 |
||||||||||||
0x0A |
lconst_1 |
long型常量值1进栈 |
||||||||||||
|
||||||||||||||
0x0B |
fconst_0 |
float型常量值0进栈 |
||||||||||||
0x0C |
fconst_1 |
float型常量值1进栈 |
||||||||||||
0x0D |
fconst_2 |
float型常量值2进栈 |
||||||||||||
|
||||||||||||||
0x0E |
dconst_0 |
double型常量值0进栈 |
||||||||||||
0x0F |
dconst_1 |
double型常量值1进栈 |
||||||||||||
|
||||||||||||||
0x10 |
bipush |
将一个byte型常量值推送至栈顶 |
||||||||||||
0x11 |
sipush |
将一个short型常量值推送至栈顶 |
||||||||||||
|
||||||||||||||
0x12 |
ldc |
将int、float或String型常量值从常量池中推送至栈顶 |
||||||||||||
0x13 |
ldc_w |
将int、float或String型常量值从常量池中推送至栈顶(宽索引) |
||||||||||||
0x14 |
ldc2_w |
将long或double型常量值从常量池中推送至栈顶(宽索引) |
||||||||||||
|
||||||||||||||
0x15 |
iload |
指定的int型局部变量进栈 |
||||||||||||
0x16 |
lload |
指定的long型局部变量进栈 |
||||||||||||
0x17 |
fload |
指定的float型局部变量进栈 |
||||||||||||
0x18 |
dload |
指定的double型局部变量进栈 |
||||||||||||
0x19 |
aload |
指令格式: aload index
功能描述: 当前frame的局部变量数组中下标为 index的引用型局部变量进栈
index : 无符号一byte整型。和wide指令联用, 可以使index为两byte。
|
||||||||||||
|
||||||||||||||
0x1A |
iload_0 |
第一个int型局部变量进栈 |
||||||||||||
0x1B |
iload_1 |
第二个int型局部变量进栈 |
||||||||||||
0x1C |
iload_2 |
第三个int型局部变量进栈 |
||||||||||||
0x1D |
iload_3 |
第四个int型局部变量进栈 |
||||||||||||
|
||||||||||||||
0x1E |
lload_0 |
第一个long型局部变量进栈 |
||||||||||||
0x1F |
lload_1 |
第二个long型局部变量进栈 |
||||||||||||
0x20 |
lload_2 |
第三个long型局部变量进栈 |
||||||||||||
0x21 |
lload_3 |
第四个long型局部变量进栈 |
||||||||||||
|
||||||||||||||
0x22 |
fload_0 |
第一个float型局部变量进栈 |
||||||||||||
0x23 |
fload_1 |
第二个float型局部变量进栈 |
||||||||||||
0x24 |
fload_2 |
第三个float型局部变量进栈 |
||||||||||||
0x25 |
fload_3 |
第四个float型局部变量进栈 |
||||||||||||
|
||||||||||||||
0x26 |
dload_0 |
第一个double型局部变量进栈 |
||||||||||||
0x27 |
dload_1 |
第二个double型局部变量进栈 |
||||||||||||
0x28 |
dload_2 |
第三个double型局部变量进栈 |
||||||||||||
0x29 |
dload_3 |
第四个double型局部变量进栈 |
||||||||||||
|
||||||||||||||
0x2A |
aload_0 |
指令格式:aload_0
该指令的行为类似于aload指令index为0的情况。
|
||||||||||||
0x2B |
aload_1 |
同上
|
||||||||||||
0x2C |
aload_2 |
同上
|
||||||||||||
0x2D |
aload_3 |
同上
|
||||||||||||
|
||||||||||||||
0x2E |
iaload |
指定的int型数组的指定下标处的值进栈 |
||||||||||||
0x2F |
laload |
指定的long型数组的指定下标处的值进栈 |
||||||||||||
0x30 |
faload |
指定的float型数组的指定下标处的值进栈 |
||||||||||||
0x31 |
daload |
指定的double型数组的指定下标处的值进栈 |
||||||||||||
0x32 |
aaload |
指令格式: aaload
功能描述: 栈顶的数组下标(index)、数组引用 (arrayref)出栈,并根据这两个数值 取出对应的数组元素值(value)进栈。
抛出异常: 如果arrayref的值为null,会抛出 NullPointerException。 如果index造成数组越界,会抛出 ArrayIndexOutOfBoundsException。
index : int类型 arrayref : 数组的引用
|
||||||||||||
0x33 |
baload |
指定的boolean或byte型数组的指定下标处的值进栈 |
||||||||||||
0x34 |
caload |
指定的char型数组的指定下标处的值进栈 |
||||||||||||
0x35 |
saload |
指定的short型数组的指定下标处的值进栈 |
||||||||||||
|
||||||||||||||
0x36 |
istore |
将栈顶int型数值存入指定的局部变量 |
||||||||||||
0x37 |
lstore |
将栈顶long型数值存入指定的局部变量 |
||||||||||||
0x38 |
fstore |
将栈顶float型数值存入指定的局部变量 |
||||||||||||
0x39 |
dstore |
将栈顶double型数值存入指定的局部变量 |
||||||||||||
0x3A |
astore |
指令格式: astore index
功能描述: 将栈顶数值(objectref)存入当前 frame的局部变量数组中指定下标 (index)处的变量中,栈顶数值出栈。
index : 无符号一byte整数。该指令和wide联 用,index可以为无符号两byte整数。
|
||||||||||||
|
||||||||||||||
0x3B |
istore_0 |
将栈顶int型数值存入第一个局部变量 |
||||||||||||
0x3C |
istore_1 |
将栈顶int型数值存入第二个局部变量 |
||||||||||||
0x3D |
istore_2 |
将栈顶int型数值存入第三个局部变量 |
||||||||||||
0x3E |
istore_3 |
将栈顶int型数值存入第四个局部变量 |
||||||||||||
|
||||||||||||||
0x3F |
lstore_0 |
将栈顶long型数值存入第一个局部变量 |
||||||||||||
0x40 |
lstore_1 |
将栈顶long型数值存入第二个局部变量 |
||||||||||||
0x41 |
lstore_2 |
将栈顶long型数值存入第三个局部变量 |
||||||||||||
0x42 |
lstore_3 |
将栈顶long型数值存入第四个局部变量 |
||||||||||||
|
||||||||||||||
0x43 |
fstore_0 |
将栈顶float型数值存入第一个局部变量 |
||||||||||||
0x44 |
fstore_1 |
将栈顶float型数值存入第二个局部变量 |
||||||||||||
0x45 |
fstore_2 |
将栈顶float型数值存入第三个局部变量 |
||||||||||||
0x46 |
fstore_3 |
将栈顶float型数值存入第四个局部变量 |
||||||||||||
|
||||||||||||||
0x47 |
dstore_0 |
将栈顶double型数值存入第一个局部变量 |
||||||||||||
0x48 |
dstore_1 |
将栈顶double型数值存入第二个局部变量 |
||||||||||||
0x49 |
dstore_2 |
将栈顶double型数值存入第三个局部变量 |
||||||||||||
0x4A |
dstore_3 |
将栈顶double型数值存入第四个局部变量 |
||||||||||||
|
||||||||||||||
0x4B |
astore_0 |
指令格式: astore_0
功能描述: 该指令的行为类似于astore指令index 为0的情况。
|
||||||||||||
0x4C |
astore_1 |
同上
|
||||||||||||
0x4D |
astore_2 |
同上
|
||||||||||||
0x4E |
astore_3 |
同上
|
||||||||||||
|
||||||||||||||
0x4F |
iastore |
将栈顶int型数值存入指定数组的指定下标处 |
||||||||||||
0x50 |
lastore |
将栈顶long型数值存入指定数组的指定下标处 |
||||||||||||
0x51 |
fastore |
将栈顶float型数值存入指定数组的指定下标处 |
||||||||||||
0x52 |
dastore |
将栈顶double型数值存入指定数组的指定下标处 |
||||||||||||
0x53 |
aastore |
指令格式: aastore
功能描述: 根据栈顶的引用型数值(value)、数组下 标(index)、数组引用(arrayref)出 栈,将数值存入对应的数组元素中。
抛出异常: 如果value的类型和arrayref所引用 的数组的元素类型不兼容,会抛出抛出 ArrayStoreException。 如果index造成数组越界,会抛出 ArrayIndexOutOfBoundsException。 如果arrayref值为null,会抛出 NullPointerException。
arrayref : 必须是对数组的引用 index : int类型 value : 引用类型
|
||||||||||||
0x54 |
bastore |
将栈顶boolean或byte型数值存入指定数组的指定下标处 |
||||||||||||
0x55 |
castore |
将栈顶char型数值存入指定数组的指定下标处 |
||||||||||||
0x56 |
sastore |
将栈顶short型数值存入指定数组的指定下标处 |
||||||||||||
|
||||||||||||||
0x57 |
pop |
栈顶数值出栈 (该栈顶数值不能是long或double型) |
||||||||||||
0x58 |
pop2 |
栈顶的一个(如果是long、double型的)或两个(其它类型的)数值出栈 |
||||||||||||
|
||||||||||||||
0x59 |
dup |
复制栈顶数值,并且复制值进栈 |
||||||||||||
0x5A |
dup_x1 |
复制栈顶数值,并且复制值进栈2次 |
||||||||||||
0x5B |
dup_x2 |
复制栈顶数值,并且复制值进栈2次或3次 |
||||||||||||
0x5C |
dup2 |
复制栈顶一个(long、double型的)或两个(其它类型的)数值,并且复制值进栈 |
||||||||||||
0x5D |
dup2_x1 |
|
||||||||||||
0x5E |
dup2_x2 |
|
||||||||||||
|
||||||||||||||
0x5F |
swap |
栈顶的两个数值互换(要求栈顶的两个数值不能是long或double型的) |
||||||||||||
|
||||||||||||||
0x60 |
iadd |
栈顶两int型数值相加,并且结果进栈 |
||||||||||||
0x61 |
ladd |
栈顶两long型数值相加,并且结果进栈 |
||||||||||||
0x62 |
fadd |
栈顶两float型数值相加,并且结果进栈 |
||||||||||||
0x63 |
dadd |
栈顶两double型数值相加,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x64 |
isub |
栈顶两int型数值相减,并且结果进栈 |
||||||||||||
0x65 |
lsub |
栈顶两long型数值相减,并且结果进栈 |
||||||||||||
0x66 |
fsub |
栈顶两float型数值相减,并且结果进栈 |
||||||||||||
0x67 |
dsub |
栈顶两double型数值相减,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x68 |
imul |
栈顶两int型数值相乘,并且结果进栈 |
||||||||||||
0x69 |
lmul |
栈顶两long型数值相乘,并且结果进栈 |
||||||||||||
0x6A |
fmul |
栈顶两float型数值相乘,并且结果进栈 |
||||||||||||
0x6B |
dmul |
栈顶两double型数值相乘,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x6C |
idiv |
栈顶两int型数值相除,并且结果进栈 |
||||||||||||
0x6D |
ldiv |
栈顶两long型数值相除,并且结果进栈 |
||||||||||||
0x6E |
fdiv |
栈顶两float型数值相除,并且结果进栈 |
||||||||||||
0x6F |
ddiv |
栈顶两double型数值相除,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x70 |
irem |
栈顶两int型数值作取模运算,并且结果进栈 |
||||||||||||
0x71 |
lrem |
栈顶两long型数值作取模运算,并且结果进栈 |
||||||||||||
0x72 |
frem |
栈顶两float型数值作取模运算,并且结果进栈 |
||||||||||||
0x73 |
drem |
栈顶两double型数值作取模运算,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x74 |
ineg |
栈顶int型数值取负,并且结果进栈 |
||||||||||||
0x75 |
lneg |
栈顶long型数值取负,并且结果进栈 |
||||||||||||
0x76 |
fneg |
栈顶float型数值取负,并且结果进栈 |
||||||||||||
0x77 |
dneg |
栈顶double型数值取负,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x78 |
ishl |
int型数值左移指定位数,并且结果进栈 |
||||||||||||
0x79 |
lshl |
long型数值左移指定位数,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x7A |
ishr |
int型数值带符号右移指定位数,并且结果进栈 |
||||||||||||
0x7B |
lshr |
long型数值带符号右移指定位数,并且结果进栈 |
||||||||||||
0x7C |
iushr |
int型数值无符号右移指定位数,并且结果进栈 |
||||||||||||
0x7D |
lushr |
long型数值无符号右移指定位数,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x7E |
iand |
栈顶两int型数值按位与,并且结果进栈 |
||||||||||||
0x7F |
land |
栈顶两long型数值按位与,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x80 |
ior |
栈顶两int型数值按位或,并且结果进栈 |
||||||||||||
0x81 |
lor |
栈顶两long型数值按位或,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x82 |
ixor |
栈顶两int型数值按位异或,并且结果进栈 |
||||||||||||
0x83 |
lxor |
栈顶两long型数值按位异或,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x84 |
iinc |
指定int型变量增加指定值 |
||||||||||||
|
||||||||||||||
0x85 |
i2l |
栈顶int值强转long值,并且结果进栈 |
||||||||||||
0x86 |
i2f |
栈顶int值强转float值,并且结果进栈 |
||||||||||||
0x87 |
i2d |
栈顶int值强转double值,并且结果进栈 |
||||||||||||
0x88 |
l2i |
栈顶long值强转int值,并且结果进栈 |
||||||||||||
0x89 |
l2f |
栈顶long值强转float值,并且结果进栈 |
||||||||||||
0x8A |
l2d |
栈顶long值强转double值,并且结果进栈 |
||||||||||||
0x8B |
f2i |
栈顶float值强转int值,并且结果进栈 |
||||||||||||
0x8C |
f2l |
栈顶float值强转long值,并且结果进栈 |
||||||||||||
0x8D |
f2d |
栈顶float值强转double值,并且结果进栈 |
||||||||||||
0x8E |
d2i |
栈顶double值强转int值,并且结果进栈 |
||||||||||||
0x8F |
d2l |
栈顶double值强转long值,并且结果进栈 |
||||||||||||
0x90 |
d2f |
栈顶double值强转float值,并且结果进栈 |
||||||||||||
0x91 |
i2b |
栈顶int值强转byte值,并且结果进栈 |
||||||||||||
0x92 |
i2c |
栈顶int值强转char值,并且结果进栈 |
||||||||||||
0x93 |
i2s |
栈顶int值强转short值,并且结果进栈 |
||||||||||||
|
||||||||||||||
0x94 |
lcmp |
比较栈顶两long型数值大小,并且结果(1,0,-1)进栈 |
||||||||||||
0x95 |
fcmpl |
比较栈顶两float型数值大小,并且结果(1,0,-1)进栈;当其中一个数值为NaN时, -1进栈 |
||||||||||||
0x96 |
fcmpg |
比较栈顶两float型数值大小,并且结果(1,0,-1)进栈;当其中一个数值为NaN时,1进栈 |
||||||||||||
0x97 |
dcmpl |
比较栈顶两double型数值大小,并且结果(1,0,-1)进栈;当其中一个数值为NaN时,-1进栈 |
||||||||||||
0x98 |
dcmpg |
比较栈顶两double型数值大小,并且结果(1,0,-1)进栈;当其中一个数值为NaN时,1进栈 |
||||||||||||
|
||||||||||||||
0x99 |
ifeq |
当栈顶int型数值等于0时跳转 |
||||||||||||
0x9A |
ifne |
当栈顶int型数值不等于0时跳转 |
||||||||||||
0x9B |
iflt |
当栈顶int型数值小于0时跳转 |
||||||||||||
0x9C |
ifge |
当栈顶int型数值大于等于0时跳转 |
||||||||||||
0x9D |
ifgt |
当栈顶int型数值大于0时跳转 |
||||||||||||
0x9E |
ifle |
当栈顶int型数值小于等于0时跳转 |
||||||||||||
0x9F |
if_icmpeq |
比较栈顶两int型数值大小,当结果等于0时跳转 |
||||||||||||
0xA0 |
if_icmpne |
比较栈顶两int型数值大小,当结果不等于0时跳转 |
||||||||||||
0xA1 |
if_icmplt |
比较栈顶两int型数值大小,当结果小于0时跳转 |
||||||||||||
0xA2 |
if_icmpge |
比较栈顶两int型数值大小,当结果大于等于0时跳转 |
||||||||||||
0xA3 |
if_icmpgt |
比较栈顶两int型数值大小,当结果大于0时跳转 |
||||||||||||
0xA4 |
if_icmple |
比较栈顶两int型数值大小,当结果小于等于0时跳转 |
||||||||||||
0xA5 |
if_acmpeq |
比较栈顶两引用型数值,当结果相等时跳转 |
||||||||||||
0xA6 |
if_acmpne |
比较栈顶两引用型数值,当结果不相等时跳转 |
||||||||||||
|
||||||||||||||
0xA7 |
goto |
无条件跳转 |
||||||||||||
|
||||||||||||||
0xA8 |
jsr |
跳转至指定16位offset位置,并将jsr下一条指令地址压入栈顶 |
||||||||||||
0xA9 |
ret |
返回至局部变量指定的index的指令位置(通常与jsr、jsr_w联合使用) |
||||||||||||
0xAA |
tableswitch |
用于switch条件跳转,case值连续(可变长度指令) |
||||||||||||
0xAB |
lookupswitch |
用于switch条件跳转,case值不连续(可变长度指令) |
||||||||||||
|
||||||||||||||
0xAC |
ireturn |
当前方法返回int |
||||||||||||
0xAD |
lreturn |
当前方法返回long |
||||||||||||
0xAE |
freturn |
当前方法返回float |
||||||||||||
0xAF |
dreturn |
当前方法返回double |
||||||||||||
0xB0 |
areturn |
指令格式: areturn
功能描述: 从方法中返回一个对象的引用。
抛出异常: 如果当前方法是synchronized方法, 并且当前线程不是改方法的锁的拥有者, 会抛出 IllegalMonitorStateException。
objectref : 被返回的对象引用。
|
||||||||||||
0xB1 |
return |
当前方法返回void |
||||||||||||
|
||||||||||||||
0xB2 |
getstatic |
获取指定类的静态域,并将其值压入栈顶 |
||||||||||||
0xB3 |
putstatic |
为指定的类的静态域赋值 |
||||||||||||
0xB4 |
getfield |
获取指定类的实例域,并将其值压入栈顶 |
||||||||||||
0xB5 |
putfield |
为指定的类的实例域赋值 |
||||||||||||
|
||||||||||||||
0xB6 |
invokevirtual |
调用实例方法 |
||||||||||||
0xB7 |
invokespecial |
调用超类构造方法、实例初始化方法、私有方法 |
||||||||||||
0xB8 |
invokestatic |
调用静态方法 |
||||||||||||
0xb9 |
invokeinterface |
调用接口方法 |
||||||||||||
|
||||||||||||||
0xBA |
--- |
因为历史原因,该码点为未使用的保留码点 |
||||||||||||
|
||||||||||||||
0xBB |
new |
创建一个对象,并且其引用进栈 |
||||||||||||
0xBC |
newarray |
创建一个基本类型数组,并且其引用进栈 |
||||||||||||
0xBD |
anewarray |
指令格式: anewarray index1 index2
功能描述: 栈顶数值(count)作为数组长度,创建 一个引用 型数组。栈顶数值出栈,数组引 用进栈。
抛出异常: 如果count小于0,会抛出 NegativeArraySizeException
count : int类型。 arrayref : 对所创建的数组的引用。
|
||||||||||||
0xBE |
arraylength |
指令格式: arraylength
功能描述: 栈顶的数组引用(arrayref)出栈,该 数组的长度进栈。
抛出异常: 如果arrayref的值为null,会抛出 NullPointerException。
arrayref : 数组引用 length : 数组长度
|
||||||||||||
|
||||||||||||||
0xBF |
athrow |
指令格式: athrow
功能描述: 将栈顶的数值作为异常或错误抛出
抛出异常: 如果栈顶数值为null,则使用 NullPointerException代替栈顶数 值抛出。 如果方法是的,则有可能抛出 IllegalMonitorStateException。
objectref : Throwable或其子类的实例的引用。
|
||||||||||||
0xC0 |
checkcast |
类型转换检查,如果该检查未通过将会抛出ClassCastException异常 |
||||||||||||
0xc1 |
instanceof |
检查对象是否是指定的类的实例。如果是,1进栈;否则,0进栈 |
||||||||||||
|
||||||||||||||
0xC2 |
monitorenter |
获得对象锁 |
||||||||||||
0xC3 |
monitorexit |
释放对象锁 |
||||||||||||
|
||||||||||||||
0xC4 |
wide |
用于修改其他指令的行为 |
||||||||||||
|
||||||||||||||
0xC5 |
multianewarray |
创建指定类型和维度的多维数组(执行该指令时,栈中必须包含各维度的长度值),并且其引用值进栈 |
||||||||||||
|
||||||||||||||
0xC6 |
ifnull |
为null时跳转 |
||||||||||||
0xC7 |
ifnonnull |
不为null时跳转 |
||||||||||||
0xC8 |
goto_w |
无条件跳转(宽索引) |
||||||||||||
0xC9 |
jsr_w |
跳转至指定32位offset位置,并且jsr_w下一条指令地址进栈 |
||||||||||||
|
||||||||||||||
0xCA |
breakpoint |
|
||||||||||||
|
||||||||||||||
0xFE |
impdep1 |
|
||||||||||||
0xFF |
impdep2 |
|
发表评论
-
推荐!国外程序员整理的Java资源大全
2015-12-15 10:14 672本文由 ImportNew - 唐 ... -
jsoup select 选择器
2015-12-09 14:03 992问题 采用CSS或类似jquery 选择器(selecto ... -
xmlbeans问题(深刻)
2015-11-12 23:08 1199运行scomp,路径永远是一个问题; 1.Program ... -
spring配置一个简单的数据连接池(dbcp)
2015-11-12 14:16 8341.文件结构 2.包结构 3.spring.x ... -
java泛型之通配符的使用
2015-11-12 12:15 716转自: http://blog.csdn.net/lone ... -
Ubuntu下安装JDK
2015-05-02 18:42 566安装JDK: 1.下载 http://www ... -
Delphi开发DLL,Java调用DLL
2014-01-01 16:40 1328用一个小例子来示范一下,不写文件字。 第一步 第二步, ... -
如何在Java中调用DLL方法<转>
2013-12-30 13:36 724Java语言本 ... -
Java对存储过程的调用方法
2013-05-14 09:29 806//一:Java如何实现对存储过程的调用: // A ... -
谈谈对象和XML文件的转换 <转>
2013-04-12 14:18 1057很多时候,我们开发 ... -
详解Java解析XML的四种方法<转>
2013-04-12 14:01 981XML现在已经成为一种通用的数据交换格式,它的平台无关性, ... -
URLClassLoader例子
2012-11-22 15:22 1410学着写一个servlet服务器,里面对servlet的处理就得 ... -
关于JAVA配置文件的小记录
2012-11-20 15:16 1013配置文件一般会为编写编程提供方便与灵活的特点,最近看tomca ... -
关于Channel学习
2012-10-07 15:12 1125java的新I/O流,有点意思,看看相关的类,其实就这几个就能 ... -
Buffer类与ByteBuffer类(来自JDK)
2012-10-07 10:10 12471. 类 Buffer(public abst ... -
运行控制台命令(java)
2012-10-07 08:30 2924有时候我们想用java去调用系统的命令实现一些功能,这个功能 ... -
匿名内部类是怎么回事
2012-10-05 13:12 1101匿名内部类真的很神秘的,不过,这种类就喜欢做一些神秘的东西。想 ... -
内部类链接到外部类
2012-10-05 10:45 742java中的内部类可以无条件地使用外部类的资源,这是怎么一回事 ... -
关于对象初始(java)
2012-10-04 20:31 1124有时,对JAVA实例化的顺序会忘记,现在记录一下。 1.调用 ... -
关于static的一些思考(java)
2012-10-04 19:07 1678当有时候回忆JAVA的基础的时候,有些东西一下子会变 ...
相关推荐
JVM指令集是JVM的核心组成部分,它定义了JVM能够理解和执行的一系列低级操作指令。这些指令构成了Java程序在运行时的微观世界,对理解JVM的工作原理至关重要。下面我们将深入探讨JVM指令集及其重要性。 1. **JVM...
本篇将深入探讨JVM指令集,帮助你更好地理解Java程序的内部工作原理。 JVM指令集,也称为字节码指令集,是一系列二进制编码的指令,每个指令都对应一个特定的操作。这些指令在Java源代码被编译成.class文件时生成,...
JVM指令集是JVM的核心组成部分,用于定义和执行Java字节码。每条指令都是一个字节长度的操作码(opcode),后面跟着零个或多个操作数(operand),用于对JVM栈上的数据进行操作。 助记符是一种为指令提供的易于记忆...
以下是对JVM指令集的一些关键点的详细说明: 1. **常量压入栈的指令**:这些指令用于将基本类型的常量或null压入操作栈。例如,`iconst_1`将int类型的值1压入栈,`lconst_0`将long类型的值0压入栈,`aconst_null`则...
### JVM指令集详解 #### 常量加载指令 在JVM执行代码的过程中,经常会遇到需要将特定的常量加载到操作数栈的情况。这部分内容主要介绍了如何将各种类型的常量值加载到栈中。 - **`aconst_null`**:此指令用于将`...
JVM指令集的设计是高度优化的,允许在不同平台上的高效运行。 在JVM指令集中,有一些关键的指令类别,包括: 1. **常量压入栈的指令**: - `aconst_null`:将null引用压入栈。 - `iconst_m1`至`iconst_5`:将int...
深入理解Java代码执行过程--JVM 指令集
JVM指令集是JVM内部的工作语言,由一系列单字节的指令组成,每条指令都有特定的功能。这份“JVM指令查询手册”很可能包含了JVM的所有公共指令、它们的含义以及使用方式。下面,我们将深入探讨JVM指令集及其在Java...
JVM指令集是JVM内部使用的微指令集合,这些指令构成了Java字节码的基础。在《JVM指令手册》中,主要涵盖了栈和局部变量的操作,这是理解JVM工作原理的关键部分。 1. 栈和局部变量操作: JVM使用栈来存储临时计算...
为了更好地理解Java程序在JVM中的执行流程,了解JVM指令集至关重要。本文档将详细介绍《JVM指令手册》中关于栈和局部变量操作的部分,涵盖常量压栈以及从栈中加载和存储值的相关指令。 #### 二、常量压栈指令 这...
JVM指令集是其内部工作原理的基础,每条指令都有特定的功能,用于构建和执行Java应用程序。下面我们将深入探讨JVM指令手册中的关键概念和知识点。 1. **字节码**:Java源代码编译后生成的是字节码文件(.class),...
JVM指令集分为五大类:整数运算指令、浮点运算指令、对象处理指令、控制转移指令和本地变量操作指令。每条指令都有其特定的功能,它们共同构成了Java程序在JVM上运行的基石。 1. **整数运算指令**:这类指令主要...
JVM指令集是JVM执行程序的基础,它包括了数十种不同的指令,这些指令涵盖了从基本的数据操作、控制流管理到对象创建和方法调用等各个方面。例如: 1. **数据操作指令**:如`iconst`系列用于加载常量整数值,`iload`...
1. JVM指令类型:JVM指令可以分为不同类型,包括将常量推送到操作数栈的指令(const系列指令),以及用于将单个数值(如int、long、float、double)推送到操作数栈的指令(iconst系列、lconst系列、fconst系列、d...
下面将详细介绍JVM指令集及其相关知识点。 1. **JVM字节码**:Java源代码被编译成字节码,这是一种中间语言,由单个字节表示的指令组成。这些指令是平台无关的,可以在任何实现了JVM的平台上解释执行。 2. **操作...
本手册推荐读者保存为本地文件,因为在阅读和实践中对JVM指令集进行深入研究,可以大大提升对Java程序执行机制的理解,进而提高编写、调试和优化Java代码的能力。通过这些指令的精确使用,开发者能够更细致地控制JVM...
5. **JVM指令集体系结构**:包括JVM指令集的基本概念、指令集与不同CPU架构的关系,以及JVM指令集的组成结构。 #### JAVA文件的编译与执行过程详解 JAVA程序的执行过程主要分为三个阶段:源代码的编写、编译成字节...