java javap和groovy字节码比较

标签 java groovy bytecode javap groovy-console

这是当我让 javap 显示我编译的类(我选择方法)时生成的代码

int multiply(int, int);
  flags:
  Code:
    stack=2, locals=3, args_size=3
       0: iload_1
       1: iload_2
       2: imul
       3: ireturn
    LineNumberTable:
      line 2: 0
    LocalVariableTable:
      Start  Length  Slot  Name   Signature
             0       4     0  this   LMyClass;
             0       4     1     a   I
             0       4     2     b   I

下面是代码,通过groovyConsole显示(同方法)

public multiply(II)I
   L0
    LINENUMBER 4 L0
    ILOAD 1
    ILOAD 2
    IMUL
    IRETURN
   L1
    LDC 0
    IRETURN
    LOCALVARIABLE this LMyClass; L0 L1 0
    LOCALVARIABLE a I L0 L1 1
    LOCALVARIABLE b I L0 L1 2
    MAXSTACK = 2
    MAXLOCALS = 3

但是哪些字节码更原始?据我了解,javap 为其添加了一些样式,因此第二个示例应该是更真实的 bytecode。 我说得对吗?

最佳答案

这些都不是更原始的。完全相同的信息只有两种不同的呈现方式。

关于java javap和groovy字节码比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36150345/

相关文章:

java - 这段代码如何使用保留关键字作为字段名称?

java - 在 Magnolia CMS 上通过 Java 获取大坝 Assets 链接

java - 如何在下拉列表中显示默认选项

java - 如何使用正则表达式模式分割字符串

bytecode - 字节码和微码有什么区别?

java - 编译器优化 : Java bytecode

java - 通过 I.P. 连接到 Derby 地址失败

grails - 如何在Grails中将结果分组?

java - 无法使用 File 或 nio 检查 Pipeline、NonCPS 或共享库中文件是否存在

groovy - 如何通过 Groovy 参数获取 Jenkins 中的当前 session 用户