/** * key->会话对象 * value->归一化后的超时时间 */ privatefinal ConcurrentHashMap<E, Long> elemMap = newConcurrentHashMap<E, Long>(); /** * The maximum number of buckets is equal to max timeout/expirationInterval, * so the expirationInterval should not be too small compared to the * max timeout that this expiry queue needs to maintain. * * 以超时时间为key的缓存 * key->归一化超时时间 * value->在该时间过期的会话集合 */ privatefinal ConcurrentHashMap<Long, Set<E>> expiryMap = newConcurrentHashMap<Long, Set<E>>();