设置IP黑名单类
如果一个IP,3分钟之内访问超过5次加入黑名单
自动解锁,如果IP在黑名单里面超过5分钟没有再次访问,则移除黑名单
需求:高并发
ConcurrentHashMap ips;
HashSet blacks;
boolean check(string ipaddr) {
// 判断是否大于5 和 时间大小
}
void add(string ipaddr) {
synchronized(ipaddr.intern()) {
// 加入IPS,这一步骤加锁
}
// 判断是否超过5分钟
if (check(ipaddr)) {
blacks.insert(i)
}
// 另外启动一个线程,执行remove
}
void remove(string ipaddr) {
// 遍历每个blacks去除
}