哪个文件包含OpenJDK 8的字节码指令集

时间:2017-04-14 11:54:53

标签: java bytecode openjdk

我是openJDK8的新手,我想找到字节码指令集所在的文件,用于生成源的字节码。 java文件。
其次,我需要字节码生成和执行过程的基本知识。

我是一名研究生,正在研究openJDK字节码。你能指导吗?

1 个答案:

答案 0 :(得分:1)

问题似乎是混淆/混合了许多不同的东西。如果您要创建新的字节码,则需要执行以下几项操作。

  • 指定/定义字节码
  • 修改编译器以生成该字节码
  • 修改运行时以理解该字节码

Java字节码在Java Virtual Machine Specification中指定。如果您需要定义一个新的,您需要在相似的程度上指定它,尽管您不必在那里发布它。

Java SDK中负责获取Java源代码并生成Java字节码的部分是Java编译器(javac)。 OpenJDK的javac源代码可用here。 Eclipse的Java编译器的源代码也可用,但我不知道在哪里。

一旦你有java编译器生成你的自定义字节码,你必须教JVM如何解释它。

OpenJDK VM(热点)有几个处理字节码执行的组件。有多个解释器(读取和执行字节码)和多个即时优化编译器,它们读取字节码并在执行之前(可能)将其编译为机器码。所有这些的源代码都是part of the hotspot。您可能只想将自己限制在解释器中并禁用编译器以进行初始工作。如果是,this set of notes explain how the hotspot interpreter works