摘要: 在并发编程中,我们经常会使用容器来存储数据或对象,可以依据场景的变化选择多种容器。 Map并发容器 因为在 JDK1.7 之前,在并发场景下使用 HashMap 会出现死循环,从而导致 CPU 使用率居高不下,而扩容是导致死循环的主要原因。虽然 Java 在 JDK1.8 中修复了 HashMap 阅读全文
posted @ 2023-04-24 16:51 邴越 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 1、散列表碰撞攻击 在极端情况下,攻击者通过精心构造的数据,使得所有的数据都散列到同一个槽里,如果使用链表冲突解决方法,散列表就会退化为链表,查询时间复杂度就从 O(1) 退化为 O(n)。 可能因为查询操作消耗大量 CPU 或者线程资源,导致系统无法响应其他请求,从而达到拒绝服务攻击(DoS)的目 阅读全文
posted @ 2023-04-24 14:24 邴越 阅读(14) 评论(0) 推荐(0) 编辑