JDK1.7中,HashMap的put方法采用的是头插法,在resize扩容时会形成环形链表,造成死循环。扩容时还可能造成数据丢失。 JDK1.8中,HashMap将put方法改成了尾插法,不会形成环链死循环,但是会造成数据覆盖。