在常量池定义中,根据规范,为什么需要将CONSTANT_String,CONSTANT_Integer,...作为单独且唯一的标记?
为什么不能像所有其他类一样将这些标记视为CONSTANT_Class标记?
是否仅仅因为这些是系统类?但如果是这样,除了提到之外还有其他系统类。
请在此处阅读:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4
答案 0 :(得分:2)
因为它们是价值观,而不是阶级。
#start from first folder node
$xmlDoc.SelectSingleNode('//folder')
#start from first folder node with root attribute
$xmlDoc.SelectSingleNode('//folder[@type="root"]')
标记在CONSTANT_Class_info结构"中用于表示类或接口",即类,而不是类的实例。
CONSTANT_Class
标记用于表示字符串值,例如CONSTANT_String
,而不是"foo"
类。