3

クラスファイルの jdk ベンダーを見つけようとしましたが、できませんでした。

コンパイルされたJavaファイルのjdkベンダーを見つけることができるかどうかを調べるのを手伝ってくれる人はいますか? はいの場合、どのように?

4

3 に答える 3

5

http://en.wikipedia.org/wiki/Java_class_fileを参照してください。クラス ファイル ヘッダーには、Cafe Babe とクラス フォーマット バージョンの情報だけを格納する場所はありません。

于 2012-06-27T13:22:13.543 に答える
2

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.)

jdk ベンダーは、Java クラス ファイル構造のどこにも記載されていません。Inside the Java Virtual Machine第6章を読むことがThe Java Class Fileできます.JDKベンダーについて何も見つけることができないと確信しています.

于 2012-06-27T13:29:04.790 に答える
0

いいえ、実際には不可能です。

理論的には、Javaコンパイラーが、コンパイラーのベンダー名を保持するために非標準属性をattributesテーブルに含めることは可能です。(JVMは特に非標準属性の使用を許可し、JVMが理解できない属性を無視する必要があります。)しかし、これを行うコンパイラーはありません。

于 2012-06-27T13:41:44.640 に答える