2016-07-29 4 views
1

定数プール定義では、仕様に従って、なぜCONSTANT_String、CONSTANT_Integer、...を別個の一意のタグとして指定する必要がありますか?定数プール内で文字列、整数、浮動小数点などのタグを使用する理由

他のすべてのクラスと同様に、これらのタグをCONSTANT_Classタグとして扱うことができないのはなぜですか?

これらはシステムクラスであるというだけですか?もしそうなら、言及されている以外の他のシステムクラスがあります。

はここで読む:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4

答えて

2

を、彼らは値ではなく、クラスですので。

CONSTANT_Classタグは、「クラスまたはインタフェースを表すために」CONSTANT_Class_info構造、すなわちクラスのインスタンスではなくクラスを表すために使用されます。

CONSTANT_Stringタグは、文字列値を表すために使用されます。 Stringではなく"foo"です。

関連する問題