我今天在考试中被问到以下问题。我仍然不知道答案。
Java在JVM中使用堆栈作为字节代码。每条指令都是一个字节,因此在操作系统中可以有多少这样的指令(每字节代码)。
我所知道的是堆栈是32位宽。任何人都可以帮助我(我是JVM的初学者)?
答案 0 :(得分:4)
预期答案几乎肯定是256,因为一个字节有256个可能的值。
这当然与实际的JVM指令集无关。根据您的计算方式,可能的指令数量可以从几十个到指数级大小不等。
实际的JVM指令集有许多未使用的操作码,一个概念上代表多个指令的操作码,以及许多可以用多种不同操作码以不同方式编码的指令。许多指令不止一个字节,一对可以长达64kb。而这甚至都没有像你如何计算宽前缀那样。