@interface符号用来定义一个注解类,诸如@Override注解, 它为类或方法添加附加的处理提供
了一种标记方法,但是注解类也需要添加注解,以便JDK底层提供支持,这种注解称为元注解
三种比较常见的元注解: Retention、Target、Documented
1)Retention 用来标记注解的作用范围, 有一个属性值value,是枚举类型RetentionPolicy,包括三个值 CLASS RUNTIME SOURCE,分别表示注解信息存在
所标记对象或方法的阶段,CLASS表示注解信息会存在class(字节码)文件中,但不会被虚拟机加载,RUNTIME表示注解信息会
随虚拟机一同被虚拟机加载,SOURCE表示注解只会存在源文件中
2)Target 用来标记注解的作用类型 ,有一个属性值value,是枚举类型ElementType,包括若干个值, FIELD METHOD PACKAGE PARAMETER TYPE
3)Documented 用来标记该注解类会被javadoc工具处理,生成类似于jdkapi样式的html文档
偶然研究框架源码,初遇之,不解,记之!