当前位置: 首页 > news >正文

站长工具推荐网站赣州信息港主页

站长工具推荐网站,赣州信息港主页,wordpress按标签筛选,wordpress自带主题下载失败概述 JVM,Java Virtual Machine,Java虚拟机器,作为一台独立的机器,一般包括独立的指令集、独立的存储体系以及适合机器自身的运算方式,本章节主要是描述JVM指令的功能与作用。 JVM的每个指令的格式是【指令 操作数1操…

概述

JVM,Java Virtual Machine,Java虚拟机器,作为一台独立的机器,一般包括独立的指令集、独立的存储体系以及适合机器自身的运算方式,本章节主要是描述JVM指令的功能与作用。

JVM的每个指令的格式是【指令 操作数1操作数2…】,其中,JVM为每个指令分配一个opcode,即操作码,使用16进制格式表示,每个操作数都对类型进行约束,JVM在运行时,执行类字节码对应指令的过程中,发生错误时都会抛出VirtualMachineError的异常信息,该异常对应的子类如下所示:

InternalError:

JVM内部错误,包括JVM执行软件的过程中发生错误、JVM底层的主机软硬件系统发生错误

OutOfMemoryError:

JVM堆内存溢出错误,JVM在运行过程中所需要占用的总堆内存空间大小超出JVM虚拟内存或者物理内存的总空间大小,内存管理器不能为新建的对象申请足够的内存空间大小

StackOverflowError:

JVM栈内存溢出错误,JVM在运行过程中一个线程所需要占用的栈内存空间大小超出事先设定的总空间大小,一般情况下,因为程序无限的递归调用而发生程序执行的错误

UnknownError:

JVM未知错误,JVM在运行过程中发生错误,但是JVM未能报告实际的异常或者错误

指令集(部分)

指令名称:aload

功能描述:根据数组索引位从数组中加载引用

指令名称:astore

功能描述:将引用存入到数组对应的索引位

指令名称:aload_<n>

功能描述:加载本地变量到操作数栈中,其中,n表示从0开始的正整数,表示第n个本地变量

指令名称:anewarray

功能描述:创建一个指定大小的引用数组

指令名称:areturn

功能描述:从方法中返回一个引用

指令名称:arraylength

功能描述:获取一个数组的引用

指令名称:astore

功能描述:将一个引用存储到本地变量

指令名称:astore_<n>

功能描述:将一个引用存储到本地变量,其中,n表示从0开始的正整数,表示第n个本地变量

指令名称:athrow

功能描述:抛出一个异常或者错误

指令名称:baload

功能描述:从数组中加载一个字节类型或者布尔类型

指令名称:bastore

功能描述:存储一个字节类型或者布尔类型到数组指定的索引位

指令名称:bipush

功能描述:将一个字节类型压入到操作数栈中

指令名称:caload

功能描述:从字符数组中加载一个字符

指令名称:castore

功能描述:将一个字符存储到字符数组中

指令名称:checkcast

功能描述:检查一个引用是否是给定的类型,其中,引用类型包括类、数组或者接口

指令名称:d2f

功能描述:将一个double类型转换成float类型

指令名称:d2i

功能描述:将一个double类型转换成int类型

指令名称:d2l

功能描述:将一个double类型转换成long类型

指令名称:dadd

功能描述:将两个double类型相加

指令名称:daload

功能描述:从double类型数组中加载一个double类型

指令名称:dastore

功能描述:将一个double类型存储到double类型的数组中

指令名称:dcmp<op>

功能描述:比较两个double类型的大小,其中,op是操作符,g表示大于,l表示小于

指令名称:dconst_<d>

功能描述:将一个double类型的常量压入操作数栈,其中,d的值包括0或者1,表示第几个常量

指令名称:ddiv

功能描述:两个double类型相除

指令名称:dload

功能描述:加载一个double类型的本地变量

指令名称:dload_<n>

功能描述:加载一个double类型的本地变量,其中,n表示从0开始的正整数,表示第n个本地变量

指令名称:dmul

功能描述:将两个double类型相乘

指令名称:dneg

功能描述:对一个double类型取负值

指令名称:drem

功能描述:对一个double类型取余

指令名称:dreturn

功能描述:在一个方法中返回一个double类型

指令名称:dstore

功能描述:将一个double类型存储到本地变量中

指令名称:dstore_<n>

功能描述:将一个double类型存储到本地变量中,其中,n表示从0开始的正整数,表示第n个本地变量

指令名称:dsub

功能描述:将两个double类型相减

指令名称:dup

功能描述:复制一个操作数栈顶的操作数类型

指令名称:dup_x1

功能描述:复制一个操作数栈顶的操作数类型,并将新复制的操作数类型插入到操作数栈顶以下的索引位2(从0开始)

指令名称:dup_x2

功能描述:复制一个操作数栈顶的操作数类型,并将新复制的操作数类型插入到操作数栈顶以下的索引位2或者3(从0开始)

指令集分类

Constants 常量类

00 (0x00) nop

01 (0x01) aconst_null

02 (0x02) iconst_m1

03 (0x03) iconst_0

04 (0x04) iconst_1

05 (0x05) iconst_2

06 (0x06) iconst_3

07 (0x07) iconst_4

08 (0x08) iconst_5

09 (0x09) lconst_0

10 (0x0a) lconst_1

11 (0x0b) fconst_0

12 (0x0c) fconst_1

13 (0x0d) fconst_2

14 (0x0e) dconst_0

15 (0x0f) dconst_1

16 (0x10) bipush

17 (0x11) sipush

18 (0x12) ldc

19 (0x13) ldc_w

20 (0x14) ldc2_w

Loads 加载类

21 (0x15) iload

22 (0x16) lload

23 (0x17) fload

24 (0x18) dload

25 (0x19) aload

26 (0x1a) iload_0

27 (0x1b) iload_1

28 (0x1c) iload_2

29 (0x1d) iload_3

30 (0x1e) lload_0

31 (0x1f) lload_1

32 (0x20) lload_2

33 (0x21) lload_3

34 (0x22) fload_0

35 (0x23) fload_1

36 (0x24) fload_2

37 (0x25) fload_3

38 (0x26) dload_0

39 (0x27) dload_1

40 (0x28) dload_2

41 (0x29) dload_3

42 (0x2a) aload_0

43 (0x2b) aload_1

44 (0x2c) aload_2

45 (0x2d) aload_3

46 (0x2e) iaload

47 (0x2f) laload

48 (0x30) faload

49 (0x31) daload

50 (0x32) aaload

51 (0x33) baload

52 (0x34) caload

53 (0x35) saload

Stores 存储类

54 (0x36) istore

55 (0x37) lstore

56 (0x38) fstore

57 (0x39) dstore

58 (0x3a) astore

59 (0x3b) istore_0

60 (0x3c) istore_1

61 (0x3d) istore_2

62 (0x3e) istore_3

63 (0x3f) lstore_0

64 (0x40) lstore_1

65 (0x41) lstore_2

66 (0x42) lstore_3

67 (0x43) fstore_0

68 (0x44) fstore_1

69 (0x45) fstore_2

70 (0x46) fstore_3

71 (0x47) dstore_0

72 (0x48) dstore_1

73 (0x49) dstore_2

74 (0x4a) dstore_3

75 (0x4b) astore_0

76 (0x4c) astore_1

77 (0x4d) astore_2

78 (0x4e) astore_3

79 (0x4f) iastore

80 (0x50) lastore

81 (0x51) fastore

82 (0x52) dastore

83 (0x53) aastore

84 (0x54) bastore

85 (0x55) castore

86 (0x56) sastore

Stack 栈操作类

87 (0x57) pop

88 (0x58) pop2

89 (0x59) dup

90 (0x5a) dup_x1

91 (0x5b) dup_x2

92 (0x5c) dup2

93 (0x5d) dup2_x1

94 (0x5e) dup2_x2

95 (0x5f) swap

Math 运算类

96 (0x60) iadd

97 (0x61) ladd

98 (0x62) fadd

99 (0x63) dadd

100 (0x64) isub

101 (0x65) lsub

102 (0x66) fsub

103 (0x67) dsub

104 (0x68) imul

105 (0x69) lmul

106 (0x6a) fmul

107 (0x6b) dmul

108 (0x6c) idiv

109 (0x6d) ldiv

110 (0x6e) fdiv

111 (0x6f) ddiv

112 (0x70) irem

113 (0x71) lrem

114 (0x72) frem

115 (0x73) drem

116 (0x74) ineg

117 (0x75) lneg

118 (0x76) fneg

119 (0x77) dneg

120 (0x78) ishl

121 (0x79) lshl

122 (0x7a) ishr

123 (0x7b) lshr

124 (0x7c) iushr

125 (0x7d) lushr

126 (0x7e) iand

127 (0x7f) land

128 (0x80) ior

129 (0x81) lor

130 (0x82) ixor

131 (0x83) lxor

132 (0x84) iinc

Conversions 转换类

133 (0x85) i2l

134 (0x86) i2f

135 (0x87) i2d

136 (0x88) l2i

137 (0x89) l2f

138 (0x8a) l2d

139 (0x8b) f2i

140 (0x8c) f2l

141 (0x8d) f2d

142 (0x8e) d2i

143 (0x8f) d2l

144 (0x90) d2f

145 (0x91) i2b

146 (0x92) i2c

147 (0x93) i2s

Comparisons 比较类

148 (0x94) lcmp

149 (0x95) fcmpl

150 (0x96) fcmpg

151 (0x97) dcmpl

152 (0x98) dcmpg

153 (0x99) ifeq

154 (0x9a) ifne

155 (0x9b) iflt

156 (0x9c) ifge

157 (0x9d) ifgt

158 (0x9e) ifle

159 (0x9f) if_icmpeq

160 (0xa0) if_icmpne

161 (0xa1) if_icmplt

162 (0xa2) if_icmpge

163 (0xa3) if_icmpgt

164 (0xa4) if_icmple

165 (0xa5) if_acmpeq

166 (0xa6) if_acmpne

Control 控制类

167 (0xa7) goto

168 (0xa8) jsr

169 (0xa9) ret

170 (0xaa) tableswitch

171 (0xab) lookupswitch

172 (0xac) ireturn

173 (0xad) lreturn

174 (0xae) freturn

175 (0xaf) dreturn

176 (0xb0) areturn

177 (0xb1) return

References 引用类

178 (0xb2) getstatic

179 (0xb3) putstatic

180 (0xb4) getfield

181 (0xb5) putfield

182 (0xb6) invokevirtual

183 (0xb7) invokespecial

184 (0xb8) invokestatic

185 (0xb9) invokeinterface

186 (0xba) invokedynamic

187 (0xbb) new

188 (0xbc) newarray

189 (0xbd) anewarray

190 (0xbe) arraylength

191 (0xbf) athrow

192 (0xc0) checkcast

193 (0xc1) instanceof

194 (0xc2) monitorenter

195 (0xc3) monitorexit

Extended 扩展类

196 (0xc4) wide

197 (0xc5) multianewarray

198 (0xc6) ifnull

199 (0xc7) ifnonnull

200 (0xc8) goto_w

201 (0xc9) jsr_w

Reserved 预留类

202 (0xca) breakpoint

254 (0xfe) impdep1

255 (0xff) impdep2

http://www.yayakq.cn/news/831826/

相关文章:

  • 做ppt用什么网站好英文站友情链接去哪里查
  • 在线做插画的网站用asp做的一个网站实例源代码
  • 做网站是用什么软件影视拍摄制作的公司
  • 贵阳白云区城乡建设局网站在建项目查询在哪里查
  • 四平市住房和城乡建设局网站好看的网站页面
  • 网站开发最快的语言php怎样做网站
  • 企业网站维护合同手机端网站整站下载
  • 做水果蔬菜生意网站互联免费虚拟主机
  • 搭建一个网站需要什么关键词优化公司电话
  • 自学移动端网站开发php源码之家
  • 永康住房和城乡建设部网站网站建设学
  • 网站建设方案书 icp备案新开传奇手游
  • 东莞做网站怎么样社群运营外包
  • 做网站和微信公众号需要多少钱杏坛网站建设
  • 网站后台管理软件网站关键词优化wang
  • 茶叶怎么做网站销售网站域名费会计分录怎么做
  • 三沙网站建设白帽seo和黑帽seo
  • 直播网站开发教程公司网站用什么语言开发
  • 做期货新闻比较好的网站菏泽市网站建设
  • 做设计素材在哪个网站青岛企业网站制作公司
  • 一级a做爰片 A视频网站360路由器做网站
  • 昆明百度网站建设金融网站如何做设计
  • 开发cms网站系统友情链接站长平台
  • 高端网站定制的方法营销外包网站
  • 外贸公司网站模板免费广州地产网站设计
  • 网站建设开发费用入什么科目龙岗住房和建设局网站官网
  • 前端开发做网站吗868868域名查询
  • 线上购物网站建设的可行性网站首页跳出弹窗
  • 宁乡网站建设在哪最新注册的公司在哪里可以查询
  • 郑州金水区网站建设企业如何网络推广