hadoop common 下的两个类 InterfaceAudience ,InterfaceStability ;
InterfaceAudience 有三个抽象方法,主要用于说明使用的范围
/**
* Intended for use by any project or application. 在任何项目或应用中可使用
*/
@InterfaceAudience.Public
/**
* Intended only for the project(s) specified in the annotation.
* For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
* 只能用在指定的项目中如"Common", "HDFS", "MapReduce", "ZooKeeper", "HBase"
*/
@InterfaceAudience.LimitedPrivate
/**
* Intended for use only within Hadoop itself. 只能在hadoop本身项目中使用
*/
@InterfaceAudience.Private
InterfaceStability 有三个抽象方法,主要用于说明版本的稳定性,及有特定包的依赖
/**
* Can evolve while retaining compatibility for minor release boundaries.;
* can break compatibility only at major release (ie. at m.0). 主版本是稳定的,不同主版本间可能不兼容
*/
@InterfaceStability.Stable
/**
* Evolving, but can break compatibility at minor release (i.e. m.x) 不断变化,不同次版本间可能不兼容
*/
@InterfaceStability.Evolving
/**
* No guarantee is provided as to reliability or stability across any 不能提供稳定性和可靠性
* level of release granularity.
*/
@InterfaceStability.Unstable