【发布时间】:2015-06-09 23:32:39
【问题描述】:
在阅读 JVM 规范时(就像一个人一样),当我遇到 7 个iconst_<i> 操作码时,我感到非常惊讶。毕竟,只有一个字节可以玩。
我很少在我的代码中编写 2、3、4 或 5 的字面量。我可以理解为什么 -1、0 和 1 可能会被特殊对待,但让我感到惊讶的是,设计者想要在恰好很小的数字上使用 4 个宝贵的操作码。
有人知道这样做是否有充分的理由吗?我是否低估了这些好处?
【问题讨论】:
-
有 255 个操作码可用。在设计 VM 指令集时,很难在所有这些指令集附近使用它们。显然,吉姆·高斯林认为这是个好主意,而且在你用完之前都是免费的,就像赠送免费的剧院门票一样,为什么不呢?