1

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

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

我所知道的是堆栈是 32 位宽的。谁能帮助我(我是 JVM 的初学者)?

4

1 回答 1

4

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

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

实际的 JVM 指令集有许多未使用的操作码,一个操作码在概念上代表多条指令,许多指令可以用多种不同的操作码以多种不同的方式编码。许多指令超过一个字节,其中一对最长可达 64kb。这甚至没有涉及诸如如何计算宽前缀之类的问题。

于 2013-07-26T04:35:01.950 回答