Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我今天在考试中被问到以下问题。我还是不知道答案。
Java 在 JVM 中使用堆栈作为字节码。每条指令都是一个字节,因此在操作系统中可能有多少这样的指令(每字节代码)。
我所知道的是堆栈是 32 位宽的。谁能帮助我(我是 JVM 的初学者)?
预期的答案几乎肯定是 256,因为一个字节有 256 个可能的值。
这当然与实际的 JVM 指令集无关。根据您的计数方式,可能的指令数量可以从几十个到指数级的大数不等。
实际的 JVM 指令集有许多未使用的操作码,一个操作码在概念上代表多条指令,许多指令可以用多种不同的操作码以多种不同的方式编码。许多指令超过一个字节,其中一对最长可达 64kb。这甚至没有涉及诸如如何计算宽前缀之类的问题。