public class LinkedHashMap
    ** extends HashMap implements Map

    1. transient LinkedHashMap.Entry<K,V> head;
    1. transient LinkedHashMap.Entry<K,V> tail;
    1. /**
    2. * 一个条件变量,它控制了是否在get操作后需要将新的get的节点重新放到链表的尾部
    3. * LinkedHashMap可以维持了插入的顺序,但是这个顺序不是不变的,可以被get操作打乱。
    4. *
    5. * 当accessOrder设置为false时,会按照插入顺序进行排序
    6. ,当accessOrder为true是,会按照访问顺序(也就是插入和访问都会将当前节点放置到尾部,尾部代表的是最近访问的数据
    7. */
    8. final boolean accessOrder;
    1. static class Entry<K,V> extends HashMap.Node<K,V> {
    2. Entry<K,V> before, after;
    3. Entry(int hash, K key, V value, Node<K,V> next) {
    4. super(hash, key, value, next);
    5. }
    6. }