源码分析
文章平均质量分 65
梧桐碎梦
这个作者很懒,什么都没留下…
展开
-
Integer中bitCount方法的源码解析
Integer 中的 bitCount() 方法用于统计二进制数字中 bit 为 1 的个数,例如 `0b111` 中 bit 为 1 的个数有 3 位。原创 2023-12-10 21:13:20 · 197 阅读 · 2 评论 -
LocalDateTime与时间戳
因为时间戳指的是自 1970 年 1 月 1 日(00:00:00 UTC/GMT)以来的秒数,所以无论在哪个时区,同一时间获取的都是相同时间戳,可以用于跨时区。但是我们现实生活用到的本地时间是跟时区挂钩的,中国所在的时区是东八区,会比 UTC 时间快 8 个小时。时间戳是从 UTC 时间得来的,所以时间戳与本地时间的相互转换,需要根据时区来转换。原创 2023-10-15 23:00:13 · 3705 阅读 · 0 评论 -
AQS源码解析
AQS 是 AbstractQueuedSynchronizer 的缩写,中文翻译过来就是抽象队列同步器。`ReentrantLock`、`ReentrantReadWriteLock`、`Semaphore`、`CountDownLatch` 都是基于 AQS。AQS 的核心思想是,当线程请求获取资源时,如果资源空闲,则会将当前线程设置为资源的独占线程,成功获得锁;否则将获取锁失败的线程加入到排队队列中(CLH),并提供线程阻塞和线程唤醒机制。CLH 是一个虚拟的双向队列。原创 2023-07-30 22:30:04 · 159 阅读 · 0 评论