今天我分析一下Hadoop core包下的classification包下源码--用于对Hadoop项目以及相关项目发布包中注解。
此目录下源码列表为:
InterfaceAudience.java
InterfaceStability.java
两个类,下面就此两个类的源码结构进行一下简要分析。
InterfaceAudience:用于通知用户所依赖的包、类以及方法范围的 注解 的定义
其中有三个接口的定义:
Public:此注解定义适用于全局范围内的项目以及应用程序,默认无参数
LimitedPrivate:此注解定义适用于项目范围内的,默认为字符串数组
Private:此注解定义仅适用于Hadoop项目范围内
同时有一私有构造器
InterfaceStability:此类包含的注解可以通知用户当前包是否稳定,所依赖的包是否在未来版本中会有所改变
此接口中也包括三个定义:
Stable:此注解定义告诉用户当前版本是一个重大稳定的发布版本
Evolving:此注解定义告诉用户当前版本可能会因为一次小的更新而有所改变
Unstable:此注解定义告诉用户当前版本会通过定期发布的版本变更
以上即是第一个包classification包下的仅有的两个类的功能的简要描述,多谢!