// �����ǰ�ڵ������Ѿ����ڵ�����ֵ
if (c >= threshold) {
// ִ��ɾ��������
HashEntry<K, V> node = header.linkpref;
if (node == null) {
throw new LRUHashMapException("segment�е��˻����������");
}
if (node == header) {
throw new LRUHashMapException("segment���˻������Ѿ�Ϊ�գ�");
}
// �Ѿ����Ϊ��������������˵�������������������
if (node.dead.get()) {
throw new LRUHashMapException("node����������");
}
// �������
node.dead.set(true);
// ��β���ڵ��������ɾ����
node.linkpref.linknext = node.linknext;
node.linknext.linkpref = node.linkpref;
// �ѽڵ��hash����ɾ��
HashEntry<K, V>[] tab = table;
int index = node.hash & (tab.length - 1);
HashEntry<K, V> first = tab[index];
HashEntry<K, V> e = first;
while (e != null
&& (e.hash != node.hash || !e.key.equals(node.key))) {
e = e.next;
}
if (e == null) {
throw new LRUHashMapException("hash���в�����Ҫɾ���Ľڵ㣡");
} else {
HashEntry<K, V> newFirst = e.next;
// ѭ��ɾ��
for (HashEntry<K, V> p = first; p != e; p = p.next) {
HashEntry<K, V> newNode = new HashEntry<K, V>(