java基础面试题
JAVA基础面试JDK1.8、11新特性HaspMap相关HashMap占多少内存根据对象=对象头+成员变量+对齐填充,HashMap的初始对象大小为:hashmap:头部(8)+int(4*4)+float(4)+table数组引用(4)+entrySet引用(4)+keySet引用(4)+values引用(4)+padding(4)=48字节table:头部(8+4)+长度(4)=16字节总共:64个字节。
null值与无序HashMap允许null作为键值,当null作为键时,存放在0位置;由于HashMap是根据Key的hashcode进行存放,所以是无序的,如果想要有序则使用LinkedHashMap:
LinkedHashMap是HashMap的子类,内部有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中。
数据结构HashMap底层是:数组+链表/红黑树;HashMap默认是一个容量为16的数组,当进行数据存储时,会根据键对应的hashcode选择存放的位置,此时总会出现不同的键但是HashCode一致,需要存放的位置也一样,导致出现哈希冲突, ...

