AQS

笔记  JUC  Java 

讲讲AQS简单说AQS就是起到了一个抽象,封装的作用,将一些排队,入队,加锁,中断等方法提供出来,便于其它相关JUC锁的使用,具体加锁时机,入队时机等都需要实现类自己控制。英文全称 是AbstractQueuedSynchronizer,AQS的核心是一个FIFO的双向队列,队列中的每个节点都代表一

HashMap的原理

Java 

说说HashMap的原理HashMap是基于哈希表的数据结构,用于存储键值对。核心是将键的哈希值映射到数组索引位置,通过数组+链表+红黑树来解决哈希冲突。HashMap使用键的hashCode()方法计算哈希值,通过(n-1) &hash确定元素在数组中的存储位置。哈希值是经过一定的扰动处理

nacos安装

笔记  Java 

➜ ~ docker run --name nacos-standalone-derby -e MODE=standalone -e NACOS_AUTH_TOKEN=bWVvd3JhaW55eWRzNjY2Nm1lb3dyYWlueXlkczY2NjY= -e NACOS_AUTH_IDENTI

ThreadPoolExecutor 任务处理的核心流程

笔记  JUC  Java 

新任务来了!检查当前运行的线程数是否少于 corePoolSize (核心线程数):如果少于:线程池会直接创建新的核心线程来执行这个任务。任务不会进入 workQueue。如果不小于(即已经达到或超过 corePoolSize):进入下一步。尝试放入 workQueue (任务队列):线程池会尝试将

O(1) 时间插入、删除和获取随机元素


O(1) 时间插入、删除和获取随机元素https://leetcode.cn/problems/insert-delete-getrandom-o1/description/type RandomizedSet struct { arr []int randomMap map

怎么设置线程池大小?

笔记  JUC  Java 

Java BlockingQueue

笔记  JUC  Java 

什么是BlockingQueuehttps://juejin.cn/post/6999798721269465102?searchId=20250603104637E9FA8BB1E723E91AC5BFBlockingQueue 在 Java 并发编程中扮演着至关重要的角色,它主要用于生产者-消费

go container/list 双向链表


Go container/list 包的方法一览 📜🛠️太棒了!了解一个库有哪些方法是掌握它如何使用的关键一步。container/list 包为我们提供了一系列操作双向链表的方法。下面,我将这些方法分类并详细列出,希望能帮助您更清晰地理解它们的作用:list.List 类型的方法contain

自定义线程池

笔记  JUC  Java 

package org.example.threadpool;import lombok.extern.slf4j.Slf4j;import java.util.ArrayDeque;import java.util.Deque;import java.util.HashSet;import jav

原子累加器

笔记  JUC  Java 

package org.example;import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.