Por que initialCapacity do Hashtable é 11 enquanto o DEFAULT_INITIAL_CAPACITY no HashMap é 16 e requer uma potência de 2

Comparação deHashMap eHashtable código fonte no jdk 1.6, vi os códigos abaixo no HashMap

/**
 * The default initial capacity - MUST be a power of two.
 */
static final int DEFAULT_INITIAL_CAPACITY = 16;

    int capacity = 1;
    while (capacity < initialCapacity)
        capacity <<= 1;

o entanto, no Hashtable, vi os códigos abaix

table = new Entry[initialCapacity];

public Hashtable() {
    this(11, 0.75f);
}

Então minha pergunta é: por que o hashMap requer uma potência de 2 como capacidade inicial? e enquanto a hashtable escolhe 11 como a capacidade inicial padrão? Presumo que isso não tenha nada a ver com a coisa que a hashtable é segura para threads e não permite valores ou chave nul

valeu

questionAnswers(8)

yourAnswerToTheQuestion