摘要:
Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。 阅读全文
摘要:
突击并发编程JUC系列演示代码地址: https://github.com/mtcarpenter/JavaTutorial 俗话说趁热要打铁,上篇中介绍的 CountDownLatch 的基本用法, CountDownLatch 计数器是一次性的,也就是等到计数器值变为0后,再调用CountDow 阅读全文
摘要:
CountDownLatch允许一个或多个线程等待其他线程完成操作。在日常开发中经常会遇到需要在主线程中开启多个线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总的场景。 阅读全文
摘要:
LongAdder原子性操作类,该类通过内部cells数组分担了高并发下多线程同时对一个原子变量进行更新时的竞争量,让多个线程可以同时对cells数组里面的元素进行并行的更新操作。 阅读全文
摘要:
AtomicIntegerFieldUpdater 原子的更新某一个字段,AtomicStampedReference 可以用于解决JUC中的 ABA问题。 阅读全文
摘要:
突击并发编程JUC系列演示代码地址: https://github.com/mtcarpenter/JavaTutorial 小伙伴们,大家好,我们又见面了,突击并发编程 JUC 系列实战原子引用马上就要发车了。 原子引用 AtomicReference 类提供了对象引用的非阻塞原子性读写操作,对比 阅读全文
摘要:
突击并发编程JUC系列演示代码地址: https://github.com/mtcarpenter/JavaTutorial 上一个章节我们学习原子更新基本类型类,如果没有印象的小伙伴可以通过底部的链接回头看下,本章节主要介绍原子更新数组类型。 数组类型 数组类型就是通过原子的方式更新数组里的某个元 阅读全文
摘要:
突击并发编程JUC系列演示代码地址: https://github.com/mtcarpenter/JavaTutorial Java 从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中的原子操作类提供了一种用法简单、性能高效、线程 阅读全文
摘要:
Java 并发编程对于开发者来说是难点也是重点,想要掌握学会并发编程,并不是一件很容易的事情,从本篇文章跟我一起攻克 Java并发编程JUC系列教程吧。 JUC 是 java.util.concurrent 的缩写,其实现参考了 EDU.oswego.cs.dl.util.concurrent ,是 阅读全文
摘要:
【Spring Data 系列学习】Spring Data JPA @Query 注解查询 前面的章节讲述了 Spring Data Jpa 通过声明式对数据库进行操作,上手速度快简单易操作。但同时 JPA 还提供通过注解的方式实现,通过将 注解在继承 repository 的接口类方法上 。 Qu 阅读全文