在Java类的格式中属性(Attributes)用来做为几种定义的用途,包括已经提到的字节码(bytecode),用于字段的常量值,异常处理,以及调试信息。但是,属性(Attributes)不只有这些可能的用途。从一开始,JVM规范要求JVMs(Java虚拟机)忽略未知类型的属性。这种要求对于属性的使用提供了灵活性,使得它在将来能够服务于其它的用途,例如提供与用户类一起工作的框架所需要的元信息------这是一种Java源于C#语言所广泛使用的方法。不幸的是,no hook have yet been provided for making of this flexibility at the user level.