04 2024 档案
摘要:LockSupport 用来创建锁和其他同步类的基本线程阻塞
阅读全文
摘要:Exchanger(交换器),顾名思义,用于两个线程之间进行数据交换
阅读全文
摘要:Phaser,翻译为移相器(阶段),它适用于这样一种场景,一个大任务可以分为多个阶段完成,且每个阶段的任务可以多个线程并发执行,但是必须上一个阶段的任务都完成了才可以执行下一个阶段的任务
阅读全文
摘要:Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可
阅读全文
摘要:CyclicBarrier是一个同步器,允许一组线程相互之间等待,直到到达某个公共屏障点 (common barrier point),再继续执行
阅读全文
摘要:CountDownLatch 是多线程控制的一种工具,它被称为 门阀、计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信
阅读全文
摘要:ReentrantReadWriteLock是一个可重入读写锁,内部提供了读锁和写锁的单独实现。其中读锁用于只读操作,可被多个线程共享;写锁用于写操作,只能互斥访问
阅读全文
摘要:ReentrantLock 是独占锁,每次只能有一个线程能获取到锁(支持重入)。其他未获取锁的线程会放入的CLH队列中,等待当前线程唤醒;
阅读全文
摘要:Java支持同步和并发多种集合框架,并发框架往往能带来更高的性能
阅读全文
摘要:阻塞队列是一种常用的并发编程工具,它能够在多线程环境下提供一种安全而高效的数据传输机制
阅读全文
摘要:AQS 抽象的队列同步器框架,主要通过程序来构建锁和同步器
阅读全文
摘要:锁是用于控制多个线程对共享资源的访问的机制,防止出现程序对共享资源的竞态关系
阅读全文
摘要:线程是操作系统调度的最小单元,多线程就是从软件或者硬件上实现多个线程并发执行的技术
阅读全文
摘要:散列表也叫哈希表,是一种通过键值对直接访问的数据结构,哈希能快速的插入、删除、查找操作
阅读全文
摘要:图是一种非线性数据结构,由顶点(节点)和边组成,用于描述不同对象之间的关系。在图中,顶点表示对象,边表示对象之间的关系,可以是有向的(箭头表示方向)也可以是无向的(没有方向)。
阅读全文
摘要:堆就是用数组实现的二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。
阅读全文
摘要:树形结构是一种非常重要的数据结构,它被广泛用于各种实际应用中,如文件系统、搜索引擎、数据库索引等;常用来做查询操作
阅读全文
摘要:在程序运行时,JVM虚拟机就需要加载已经编译后的字节码文件到内存中执行程序
阅读全文
摘要:Java程序运行时,主要分为编译和运行两个步骤。首先将java的源文件编译成字节码。然后通过不同的虚拟机解释执行,实现跨平台
阅读全文
