Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哪个文件包含OpenJDK 8的字节码指令集_Java_Bytecode_Openjdk - Fatal编程技术网

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

Java 哪个文件包含OpenJDK 8的字节码指令集,java,bytecode,openjdk,Java,Bytecode,Openjdk,我是openJDK8新手,我想找到存在字节码指令集的文件,该指令集用于生成源.java文件的字节码。 其次,我需要字节码生成和执行过程的基本知识 我是一名研究生,正在研究openJDK字节码。你能指导一下吗?这个问题似乎把许多不同的东西混为一谈了。如果你正在创建一个新的字节码,你需要做几件事 指定/定义字节码 修改编译器以生成该字节码 修改运行时以理解该字节码 Java字节码在中指定。如果您需要定义一个新的,您需要以类似的程度指定它,尽管您不必在那里发布它 负责获取Java源代码和生成Jav

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


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

这个问题似乎把许多不同的东西混为一谈了。如果你正在创建一个新的字节码,你需要做几件事

  • 指定/定义字节码
  • 修改编译器以生成该字节码
  • 修改运行时以理解该字节码
Java字节码在中指定。如果您需要定义一个新的,您需要以类似的程度指定它,尽管您不必在那里发布它

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

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


OpenJDK VM(热点)有几个组件处理字节码的执行。有不止一个解释器(读取和执行字节码)和多个实时优化编译器,它们读取字节码并(可能)在执行之前将其编译成机器码。它们的源代码都是。您可能只想将自己局限于解释器,并禁用编译器进行初始工作。如果是的话,.

?)是的。没有找到直接的答案。不清楚你到底在说什么,但听起来像是一个编译器组件。也不一定是单个源文件。剩下的太多了。首先研究JVM规范和JLS,以及编译器构造。@EJP,作为一个测试用例,我必须创建一条新的字节码指令。这可能等同于任何旧的指令。这实际上并不能解释为什么您认为需要定位特定的源文件。是的,我只想限于解释器。无需更改编译器。我只需要打开字节码,用一组新的特定指令替换一些指令(就像压缩一样)。并使解释器能够理解(并替换)我添加的指令。@adeeliqbal我不理解短语“我只需要打开字节码”。是否要修改javac生成的字节码?或者将javac生成的字节码进一步处理?是的。完整的任务是修改javac生成的字节码,并在嵌入式系统中进一步处理它。