【JAVA笔记——道】泛型接口设计(未完成)

Hadoop设计模式–接口类

泛型接口设计

WritableComparator 相信大家都不会陌生,在MapReduce Shuffle中经常会被用到。因此摘自WritableComparator中Hadoop中优秀的设计模式,一方面好记星不如烂笔头,方便自用,一方面分享大家。

public class WritableComparator implements RawComparator, Configurable {
    ...
  /** For backwards compatibility. **/
  public static WritableComparator get(Class<? extends WritableComparable> c) {
    return get(c, null);
  }

  /** Get a comparator for a {@link WritableComparable} implementation. */
  public static WritableComparator get(
      Class<? extends WritableComparable> c, Configuration conf) {
    WritableComparator comparator = comparators.get(c);
    if (comparator == null) {
      // force the static initializers to run
      forceInit(c);
      // look to see if it is defined now
      comparator = comparators.get(c);
      // if not, use the generic one
      if (comparator == null) {
        comparator = new WritableComparator(c, conf, true);
      }
    }
    // Newly passed Configuration objects should be used.
    ReflectionUtils.setConf(comparator, conf);
    return comparator;
  }
    ...

WritableComparator 提供两种get方法,主要的参数Class< ? extends WritableComparable> c,get方法会对传入的class 进行比较操作

之前写了一半,电脑挂了,后续补

原文地址:https://www.cnblogs.com/cunchen/p/9464177.html