Java 并发容器和框架
Java 并发容器和框架 ConcurrentHashMap 的实现原理与使用 - ConcurrentHashMap 是线程安全且高效的 HashMap。 - 为什么要使用 ConcurrentHashMap : - 在并发编程中使用 H…
标记为「JUC」的文章集合。
Java 并发容器和框架 ConcurrentHashMap 的实现原理与使用 - ConcurrentHashMap 是线程安全且高效的 HashMap。 - 为什么要使用 ConcurrentHashMap : - 在并发编程中使用 H…
Java 并发编程实践 生产者和消费者模式 生产者和消费者模式是通过一个容器来解决生产者和消费者之间的强耦合问题。在该模式中,生产者和消费者彼此之间不直接通信,而是通过阻塞队列进行通信。具体工作流程如下: 1. 生产者 :生产者生成数据后,…
Executor 框架 Java 的线程既是工作单元,也是执行机制。为了更好地管理和调度线程,Java 提供了强大的 Executor 框架。 Executor 框架的两级调度模型 在 Java 的 HotSpot VM 线程模型中, Ja…
Java 中的线程池 合理地使用线程池可以带来以下三个主要好处: 1. 降低资源消耗 :通过重复利用已创建的线程,减少线程创建和销毁所造成的开销。 2. 提高响应速度 :当任务到达时,无需等待线程创建即可立即执行任务。 3. 提高线程的可管…
Java 中的并发工具类 并发流程控制的手段 - CountDownLatch - CyclicBarrier - Semaphore 在线程间交换数据的一种手段 - Exchanger 工具类 CountDownLatch - Count…
Java 中的 13 个原子操作类 原子更新基本类型类 - AtomicBoolean :原子更新布尔类型。 - AtomicInteger :原子更新整型。 - int addAndGet int delta :以原子方式将输入的数值与实…
Java 中的锁 Lock 接口 - 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发访问共享资源,比如读写锁)。 - Lock 接口提供了与 synchronized…
Java并发编程基础 线程的状态 线程的状态变化 Daemon 线程 - Daemon 线程是一种支持型线程 (常被叫做守护线程),因为它主要被用作程序中后台调度以及支持性工作。 - 可以通过调用 Thread.setDaemon true…
Java内存模型 Java 内存模型的基础 并发编程模型的两个关键问题 - 线程之间如何通信 / 线程之间如何同步 - 共享内存(Java采用) : - 线程之间共享程序的公共状态, 通过写-读内存中的公共状态进行隐式通信 。 - 同步是显…
并发编程的挑战和底层原理 并发编程的目的 并发编程的目的是为了让程序运行得更快。 并发编程的挑战 - 上下文切换 - 死锁 - 资源限制 Java 并发机制的底层实现原理 Java 中的并发机制依赖于 JVM 的实现和 CPU 的指令。 v…