HashMap(int initialCapacity, float loadFactor): 构建一个拥有特定容量和加载因子的空的哈希映像 TreeMap:基于红黑树实现。TreeMap没有调优选项,因为该树总处于平衡状态。 TreeMap():构建一个空的映像树 TreeMap(Map m): 构建一个映像树,并且添加映像m中所有元素 TreeMap(Comparator c): 构建一个映像树,并且...
HashMap AbstractMap 基于哈希表 key可以为null不安全的线程(不同步) hash数组的默认大小是16,而且一定是2的指数。 效率较高 TreeMap 基于红黑树 有序 支持序列化 能被克隆 支持排序 HashTable 基于Dictionary类 key不能为null是安全的线程(同步) hash数组默认大小是11,增加的方式是 old*2+1。 效率较低。
答:HashSet是基于哈希表实现的,元素无序且不重复;TreeSet是基于红黑树实现的,元素有序且不重复。 问:HashMap和Hashtable的区别是什么? 答:HashMap是非线程安全的,支持null键和null值;Hashtable是线程安全的,不允许有null键和null值。 问:ConcurrentHashMap是什么?为何使用它? 答:ConcurrentHashMap是多线程环境下...
3. 请简述HashSet和TreeSet的区别。 解析: - HashSet:基于哈希表实现,元素插入和删除操作时间复杂度为O(1)。 - TreeSet:基于红黑树实现,元素插入和删除操作时间复杂度为O(logn)。 4. 请简述HashMap和TreeMap的区别。 解析: - HashMap:基于哈希表实现,元素插入和删除操作时间复杂度为O(1)。 - TreeMap:基...
- HashMap基于哈希表实现,存储键值对,允许重复键。 - HashSet基于HashMap实现,存储唯一元素,不允许重复键。 4. 请简述HashMap和TreeMap的区别。 解析: - HashMap基于哈希表实现,无序。 - TreeMap基于红黑树实现,有序。 三、Java多线程 1. 请简述Java中线程的状态及其转换。 解析: - 新建(New):线程对象被...
1. HashMap 底层数据结构是什么,时间复杂度多少? 2. JDK 8 中对 HashMap 做了怎样的优化? 3. HashMap 和 TreeMap 什么区别? 4. ConcurrentHashMap 的实现原理 5. 包装类的缓存机制如何应用 6. Error 和 Exception 有什么区别? 7. 通过一个例子描述下 BIO、NIO、AIO 三者的区别?
4.10.1 TreeMap 4.10.2 LinkedHashMap 4.11 HashMap 和 TreeMap 的区别 4.12 HashMap 多线程的问题 五、多线程 HashMap 5.1 HashMap 多线程解决方案 5.2 SynchronizedMap 底层原理 5.3 ConcurrentHashMap 底层原理 5.3.1 JDK 7 中 ConcurrentHashMap
静态内部类的好处是作用域仅在包内,可以通过 外部类.内部类 直接访问,并且静态内部类可以访问外部类中所有静态属性和方法。例如 HashMap 中的 Node 节点,ReentrantLock 中继承自 AQS 的 Sync 类,ArrayList 中的 SubList 都是静态内部类。内部类中还可以定义内部类,例如 ThreadLoacl 静态内部类 ThreadLoaclMap 中还...
在Kafka 内部存在两种默认的分区分配策略:Range 和 RoundRobin。当以下事件发生时,Kafka 将会进行一次分区分配: 同一个 Consumer Group 内新增消费者 消费者离开当前所属的Consumer Group,包括shuts down 或 crashes 订阅的主题新增分区 将分区的所有权从一个消费者移到另一个消费者称为重新平衡(rebalance),如何rebala...