首页 > 解决方案 > iload_1、iload_2、iload_3 和 iload #index 字节码有什么区别?

问题描述

iload #index 与其他 3 字节代码有何不同。它们之间是否有任何性能差异。

标签: javabytecodejava-bytecode-asm

解决方案


iload #index 与其他 3 字节代码有何不同。

iload_1 _2 _3 使用一个字节的字节码。另一种形式使用 2。

它们之间是否有任何性能差异。

只是间接的。大多数情况下它没有区别,但是有一些基于字节码字节数的性能调整指标。例如是否内联方法。稍长的方法可能意味着不执行某些优化。

例如,即使不经常调用,内联方法的度量也是 35 字节。如果代码使用 iload # 而不是 iload_1,则可能意味着它的长度略大于 35 个字节而不是略短,并且不会被内联。


推荐阅读