Javaclass文件结构(2)

文章作者 100test 发表时间 2011:03:17 21:05:44
来源 100Test.Com百考试题网


  现在已经预定义的属性有:

  1. SourceFile : attribute_info被替代为:

  SourceFile_attribute {

  u2 attribute_name_index.

  u4 attribute_length.

  u2 sourcefile_index. //指向constant_pool中的一个CONSTANT_Utf8_info 结构。

  }

  2. ConstantValue : attribute_info被替代为:

  ConstantValue_attribute {

  u2 attribute_name_index.

  u4 attribute_length. //必须为2

  u2 constantvalue_index.

  }

  对于constantvalue_index意义如下:

  long CONSTANT_Long

  float CONSTANT_Float

  double CONSTANT_Double

  int, short, char, byte, boolean CONSTANT_Integer

  String CONSTANT_String

  ConstantValue用于field_info 中,用于描述一个static常量,

  且此时field_info的access_flags应为ACC_STATIC

  3. Code : attribute_info被替代为:

  Code_attribute {

  u2 attribute_name_index.

  u4 attribute_length.

  u2 max_stack. //执行此函数时可用的栈的最大深度

  u2 max_locals. //执行此函数可用到的最大本地变量数目,包括参数。

  // 注意:一个long/double相当于2个变量数目.

  u4 code_length. //本函数用到的代码长度。

  u1 code[code_length]. //实现本函数的真正字节码

  u2 exception_table_length.

  { u2 start_pc.

  u2 end_pc. //捕获违例时执行代码数组中的[start_pc, end_pc)部分

  u2 handler_pc. //现在还不大明白他是干嘛的!!

  u2 catch_type. //指向constant_pool的索引,对应CONSTANT_Class_info

  }exception_table[exception_table_length].

  u2 attributes_count.

  attribute_info attributes[attributes_count].

  }

  CONSTANT_Class_info {

  u1 tag. //必须为CONSTANT_Class (7)

  u2 name_index. //不用我再说了吧?

  }

  Code属性用于method_info结构中。

  4. Exceptions : attribute_info被替代为:

  Exceptions_attribute {

  u2 attribute_name_index.

  u4 attribute_length.

  u2 number_of_exceptions.

  u2 exception_index_table[number_of_exceptions].

  }

  5. InnerClasses : attribute_info被替代为:

  InnerClasses_attribute {

  u2 attribute_name_index.

  u4 attribute_length.

  u2 number_of_classes.

  { u2 inner_class_info_index.

  u2 outer_class_info_index.

  u2 inner_name_index.

  u2 inner_class_access_flags.

  } classes[number_of_classes].

  }


相关文章


100Test网校名师解析2010年全国计算机二级C编程时常犯的错误
计算机等级考试二级Java练习题及解析汇总
Java编辑快捷键
jquery用于注册页面的提示信息
Javaclass文件结构(2)
2010年3月计算机等级考试二级Java笔试试题(文字版)
变态JAVA面试32问
2010年3月全国计算机二级JAVA笔试题
全国计算机等级考试二级笔试样卷Java语言程序设计
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛