Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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
Class 有没有可能找到jdk供应商提供的已编译java文件_Class_Java_Compiled - Fatal编程技术网

Class 有没有可能找到jdk供应商提供的已编译java文件

Class 有没有可能找到jdk供应商提供的已编译java文件,class,java,compiled,Class,Java,Compiled,我曾试图为我的类文件找到jdk供应商,但未能找到 有谁能帮我找出是否有可能找到jdk供应商来提供一个编译过的java文件。如果是,则如何进行?请参阅。类文件头中没有该信息的位置,只有Cafe Babe和类格式版本。Java类文件结构有10个基本部分: Magic Number: 0xCAFEBABE Version of Class File Format: the minor and major versions of the class file Constant P

我曾试图为我的类文件找到jdk供应商,但未能找到


有谁能帮我找出是否有可能找到jdk供应商来提供一个编译过的java文件。如果是,则如何进行?

请参阅。类文件头中没有该信息的位置,只有Cafe Babe和类格式版本。

Java类文件结构有10个基本部分:

    Magic Number: 0xCAFEBABE
    Version of Class File Format: the minor and major versions of the class file
    Constant Pool: Pool of constants for the class
    Access Flags: for example whether the class is abstract, static, etc.
    This Class: The name of the current class
    Super Class: The name of the super class
    Interfaces: Any interfaces in the class
    Fields: Any fields in the class
    Methods: Any methods in the class
    Attributes: Any attributes of the class (for example the name of the sourcefile, etc.)
java类文件结构中没有提到jdk供应商。
您可以阅读Java虚拟机中的
第6章
Java类文件
,我相信您将无法找到任何关于JDK供应商的信息。

不,这在现实中是不可能的


从理论上讲,Java编译器可以在中包含非标准属性来保存编译器供应商名称。(JVM特别允许使用非标准属性,并要求JVM忽略它不理解的任何属性。),我不知道有哪种编译器能做到这一点。

只是好奇:为什么你需要知道哪个JDK编译了一个.class文件?我相信Oracle是JDK的唯一供应商。@VanDarg你在OpenJDK上检查过了吗?产生的字节码应该几乎相同,到JIT对其进行优化时,使用哪种编译器真的不重要。@Alfabravo:我坚持更正!我想可能还有别的事,但不确定:)这就是我来这里的原因。谢谢你的信息。我想我可能会修补一下OpenJDK。