JVM中的指令数

时间:2013-07-25 22:25:54

标签: jvm bytecode

我今天在考试中被问到以下问题。我仍然不知道答案。

Java在JVM中使用堆栈作为字节代码。每条指令都是一个字节,因此在操作系统中可以有多少这样的指令(每字节代码)。

我所知道的是堆栈是32位宽。任何人都可以帮助我(我是JVM的初学者)?

1 个答案:

答案 0 :(得分:4)

预期答案几乎肯定是256,因为一个字节有256个可能的值。

这当然与实际的JVM指令集无关。根据您的计算方式,可能的指令数量可以从几十个到指数级大小不等。

实际的JVM指令集有许多未使用的操作码,一个概念上代表多个指令的操作码,以及许多可以用多种不同操作码以不同方式编码的指令。许多指令不止一个字节,一对可以长达64kb。而这甚至都没有像你如何计算宽前缀那样。