首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

根本数据类型对应字节码

2014-01-12 
基本数据类型对应字节码【零】布尔型boolean boo true对应字节码0:iconst_11:istore_1【①】byte型:byte m

基本数据类型对应字节码
【零】布尔型
boolean boo = true;
对应字节码
0:   iconst_1
1:   istore_1


【①】byte型:
byte m = 1;
对应的字节码:
0:   iconst_1
1:   istore_1

【②】int型:
int m = 1;
对应字节码
0:   iconst_1
1:   istore_1


【③】short型:
short m = 1;
对应字节码
0:   iconst_1
1:   istore_1


【④】long型:
long m = 1;
对应字节码:
0:   lconst_1
1:   lstore_1

【⑤】char型:
char m = 'a';
对应的字节码:
0:   bipush  97
2:   istore_1

【⑥】float型:
float m = 1.0f;
对应的字节码:
0:   fconst_1
1:   fstore_1

【⑦】double型:
double m = 1.0;
对应的字节码:
0:   dconst_1
1:   dstore_1

可以发现boolean,int,short,byte都是已iconst开头,这说明这几个类型在jvm看来都是同一个类型。没多大区别
解释一下命令的大致意思:
Tconst:将常量加载到操作数栈中。后面的数字相当于索引。T可替换为i,l,f等等
Tstore:将一个数值从操作数栈存储到局部变量表中
其中char的bipush 97就是把常量97加载到操作数栈中,供后面操作使用。

热点排行