![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【从零开始学习JAVA重要集合】
文章平均质量分 96
我是一盘牛肉
西安哔哩哔哩大学软件工程 大二学生 深夜工作者
用0和1创造我们的新世界吧!
展开
-
【从零开始学习Java重要知识 | 第三篇】暴打ReentrantLock底层源码
在并发编程中,线程安全是一个重要的问题。为了保证多个线程之间的互斥访问和正确的同步操作,Java提供了一种强大的锁机制——ReentrantLock(可重入锁)。与synchronized相比,ReentrantLock提供了更加灵活和强大的功能。它支持公平锁和非公平锁两种模式,可以通过lock()和unlock()方法手动控制锁的获取和释放,并且可以实现可重入特性,即同一个线程可以多次获得同一个锁而不会发生死锁。原创 2024-01-19 23:05:04 · 1375 阅读 · 17 评论 -
【从零开始学习Java重要知识 | 第二篇】深入解读ThreadLocal类
当我们编写多线程程序时,经常会遇到一些需要在线程之间共享数据的情况。然而,共享数据可能会引发线程安全的问题,例如竞态条件(race condition)和数据覆盖等。为了解决这些问题,Java 提供了许多线程同步的机制,如 synchronized 关键字和 Lock 接口等。然而,并不是所有的场景都适合使用传统的线程同步方式。有些情况下,我们更希望每个线程都拥有自己独立的数据副本,以避免线程之间的干扰。这时,ThreadLocal 就成为了一个非常有用的工具。原创 2024-01-13 22:28:04 · 1582 阅读 · 67 评论 -
【从零开始学习JAVA重要知识 | 第一篇】深入解读HashMap源码(含面试题)
HashMap是 Java 中的一个常用数据结构,用于存储键值对它基于哈希表(hash table)实现,允许 null 键和 null 值,并且具有快速的查找、插入和删除操作。HashMap 继承自抽象类 AbstractMap,并且实现了 Map 接口。这原创 2023-12-13 15:54:06 · 1619 阅读 · 50 评论