HashMap 是 Java 中常用的一种数据结构。它以键值对的形式存储数据,通过哈希算法实现快速的查找、插入和删除操作。非线程安全,允许键值为 null。存储数据时可能会出现哈希冲突,通过链表或红黑树解决,提高存储和检索效率。
huizhang43 阅读:12 评论:0 2024-08-22
Vector 是同步的动态数组,可动态调整大小,适用于多线程环境。Stack 继承自 Vector,是一种后进先出(LIFO)的数据结构,用于存储和操作元素,提供了入栈、出栈等操作。
huizhang43 阅读:12 评论:0 2024-08-22
CountDownLatch 是 Java 中的一个同步工具类。它允许一个或多个线程等待其他线程完成操作。通过设置初始计数值,其他线程每完成一项任务就调用 countDown 方法减少计数值,当计数值为 0 时,等待的线程被唤醒继续执行。
huizhang43 阅读:12 评论:0 2024-08-22
LinkedList 是 Java 中的一种数据结构。它以双向链表的形式存储数据,允许快速地在链表中间进行插入和删除操作。可高效地进行头尾节点的添加和移除。适用于频繁进行数据增减操作的场景,但随机访问元素的效率相对较低。
huizhang43 阅读:13 评论:0 2024-08-22
AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中
huizhang43 阅读:18 评论:0 2024-08-22