java - 我如何解释 java 程序集?

标签 java

  // Method descriptor #8 ()V
  // Stack: 3, Locals: 1
  public EGLConfig();
     0  aload_0 [this]
     1  invokespecial java.lang.Object() [1]
     4  new java.lang.RuntimeException [2]
     7  dup
     8  ldc <String "Stub!"> [3]
    10  invokespecial java.lang.RuntimeException(java.lang.String) [4]
    13  athrow
      Line numbers:
        [pc: 0, line: 4]
      Local variable table:
        [pc: 0, pc: 14] local: this index: 0 type: javax.microedition.khronos.egl.EGLConfig
}

任何人都可以“阅读”这个吗?

最佳答案

Java Virtual Machine Specification记录 Java 字节码指令的含义以及 JVM 如何处理它们。

翻译成 Java 时看起来像这样:

// Constructor of class EGLConfig
public EGLConfig() {
    super();
    throw new RuntimeException("Stub!");
}

逐行:

 0  aload_0 [this]
 1  invokespecial java.lang.Object() [1]

this(对当前对象的引用)压入堆栈并调用父类(super class)的构造函数,即 Object

 4  new java.lang.RuntimeException [2]
 7  dup
 8  ldc <String "Stub!"> [3]
10  invokespecial java.lang.RuntimeException(java.lang.String) [4]

创建一个新的 RuntimeException 对象并调用它的构造函数,该构造函数接受一个 String;它传入字符串 "Stub!"

13  athrow

抛出 RuntimeException

关于java - 我如何解释 java 程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11133518/

相关文章:

java - 如何从文件加载AWS凭证?

java - 在 Hibernate 中映射 NCLOB

java - Android 音频播放器应用程序

java - 在Java中将数字转换为字符串中的单词

java - 我正在尝试检查网站状态是否在线

java - Switch 语句 : Is the logic different in C v/s. Java 等其他语言?

java - 使用java在xml中搜索结束排除

Java:从 URL 读取会产生乱码

java - 尝试使用 AnchorPane 的扩展版本时出现实例化和加载异常

java - 缩小在 Java 中的方法调用中是如何工作的?