一个应用使用本地缓存导致YoungGC变长

  1. 本地缓存使用过多,会导致缓存集合里面的数据变多,这样会导致扫描时间变长;
  2. 缓存又是一个经常变换的,就更加加剧了gc扫描的时间
  3. static class Node<K,V> implements Map.Entry<K,V> {
        final int hash;
        final K key;
        V value;
        Node<K,V> next;
    }

    如果对象有hash冲突的时候,采用链表存储。这样会导致有部分缓存对象进入老年代之后,next又指向了新生代;这样younggc的时候,导致扫描老年代引用新生代的对象关系时长变长

猜你喜欢

转载自blog.csdn.net/ma_ru_long/article/details/106948824