org.apache.hadoop.classification-InterfaceAudience


 

我是从和心包core开始的。根据包名称classification可以看出来这里面的类也起着类似tool的作用。


 

 1 /**
 2 *注释省略...
 3 **/
 4 package org.apache.hadoop.classification;
 5 
 6 import java.lang.annotation.Documented;
 7 //只引入了JDK的注释包中的Documented接口,即没有其他hadoop类级联
 8 /**
 9  * Annotation to inform users of a package, class or method‘s intended audience.
10  */
11 //这里面也是注解类,用来向用户表明一个包、类或者方法的潜在的使用范围
12 @InterfaceAudience.Public
13 @InterfaceStability.Evolving
14 //自注解(自己起的名字)。第一个注解就用到了这个类中的第一个内部注解。第二个是同包下的第二个类(不解释)。
15 public class InterfaceAudience {
16   /**
17    * Intended for use by any project or application.
18    */
19   @Documented public @interface Public {};
20   //@Doccumented 是元注解(就是注解注解的注解),作用是指示某一类型的注释将通过 javadoc 和类似的默认工具进行文档化。
21   //这个注解是标识适用任何工程或者应用
22   /**
23    * Intended only for the project(s) specified in the annotation.
24    * For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
25    */
26   @Documented public @interface LimitedPrivate {
27     String[] value();
28   };
29   //标识适用于某些特殊的工程。比如HDFS、Mapreduce等
30   //它的值是个字符串数组,表示可以是多个工程
31   
32   /**
33    * Intended for use only within Hadoop itself.
34    */
35   @Documented public @interface Private {};
36 //只适用于hadoop自己
37   private InterfaceAudience() {} // Audience can‘t exist on its own
38 //构造方法,私有的。已有注释
39 }

关于元注解和自定义注解 http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。