• JUC源码学习笔记5——1.5w字和你一起刨析线程池ThreadPoolExecutor源码,全网最细doge

    时间:2023-01-12 07:09:32

    源码基于JDK8文章1.5w字,非常硬核系列文章目录和关于我一丶从多鱼外卖开始话说,王多鱼给好友胖子钱让其投资,希望亏得血本无归。胖子开了一个外卖店卖国宴,主打高端,外卖小哥都是自己雇佣,并且开迈巴赫送外卖。最开始胖子觉得这么贵的外卖,就雇佣100个外卖员(核心线程)够了,并购买了100台迈巴赫。但...

  • 15.AQS的今生,构建出JUC的基础

    时间:2023-01-06 01:08:28

    大家好,我是王有志,欢迎和我聊技术,聊漂泊在外的生活。快来加入我们的Java提桶跑路群:共同富裕的Java人。《AQS的前世,从1990年的论文说起》中我们已经对AQS做了简单的介绍,并学习了先于AQS出现的3种基于排队思想的自旋锁。今天我们深入到AQS的设计中,探究Doug Lea是如何构建JUC...

  • JUC并发编程详解(通俗易懂)

    时间:2023-01-05 21:06:52

    一、JUC简介在Java5.0提供了java.util.concurrent包,简称JUC,即Java并发编程工具包。JUC更好的支持高并发任务。具体的有以下三个包:java.util.concurrent java.util.concurrent.atomic java.util.concurre...

  • JUC原子类--01

    时间:2023-01-03 20:18:21

    JUC原子操作类分为四种类型1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;3. 引用类型: AtomicRe...

  • JUC源码学习笔记7——FutureTask源码解析,人生亦如是,run起来才有结果

    时间:2023-01-03 09:05:57

    系列文章目录和关于我一丶我们在哪里会使用到FutureTask基本上工作中和Future接口 打交道比较多,比如线程池ThreadPoolExecutor#sumbit方法,返回值就是一个Future(实际上基本上就是一个FutureTask)。ThreadPoolExecutor#sumbit需要...

  • [JUC-5]ConcurrentHashMap源码分析JDK8

    时间:2023-01-01 09:51:06

    在学习之前,最好先了解下如下知识:1、ReentrantLock的实现和原理。2、Synchronized的实现和原理。3、硬件对并发支持的CAS操作及JVM中Unsafe对CAS的实现。4、JDK1.7中关于ConcurrentHashMap的实现原理。5、volatile的实现原理。6、二叉树,...

  • Java面试必问之-JUC

    时间:2022-12-28 15:57:25

    JUC:java.util.concurrent (Java并发编程工具类)代码:D:\JAVA\Java_Learning\Elipse_Project\workspace200301EE\JUC一般面试提问:面向对象和高级语法、Java集合类、Java多线程、JUC 和高并发、Java IO和 ...

  • java进阶—JUC编程

    时间:2022-12-23 17:01:54

    1、线程和进程获取CPU核数/** * @author java小豪 * @version 1.0.0 * @date 2022/12/15 * @description 测试 */public class Test { public static void main(String[] arg...

  • 【JUC】JDK1.8源码分析之CyclicBarrier

    时间:2022-12-16 10:34:11

    一、前言有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前等待,直至所有的任务都完成,和join很类似,下面,开始分析源码。二、CyclicBarrier数据结...

  • java多线程系类:JUC原子类:02之AtomicLog原子类

    时间:2022-12-04 11:27:02

    概要AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以AtomicLong对基本类型的原子类进行介绍。内容包括:AtomicLong介绍和函数列表AtomicLong源码分析(基于JDK1.7.0_40)AtomicLong示...

  • JUC源码学习笔记6——ReentrantReadWriteLock

    时间:2022-12-01 07:13:50

    系列文章目录和关于我阅读此文需要有AQS独占和AQS共享的源码功底,推荐阅读:1.JUC源码学习笔记1——AQS独占模式和ReentrantLock2.JUC源码学习笔记2——AQS共享和Semaphore,CountDownLatch一丶类结构和源码注释解读1.ReadWriteLock维护了一对...

  • JUC之Semaphore源码分析

    时间:2022-11-25 11:35:06

    这篇文章主要为大家详细分析了JUC之Semaphore源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  • JUC学习笔记——并发工具线程池

    时间:2022-11-18 08:05:53

    在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的并发工具线程池我们会分为以下几部分进行介绍:线程池介绍自定义线程池模式之Worker ThreadJDK线程池Tomcat线程池Fork/Join线程池介绍我们在这一小节简单介绍一下线程池线程池简介首先我们先来介绍线程池的产生背景:在...

  • JUC学习笔记——共享模型之不可变

    时间:2022-11-16 08:08:02

    在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的不可变内容我们会分为以下几部分进行介绍:不可变案例不可变设计模式之享元原理之final无状态不可变案例我们下面通过一个简单的案例来讲解不可变的共享案例展示首先我们给出一个简单的不安全案例:/*代码展示*/// 首先我们都知道Simpl...

  • JUC学习笔记——共享模型之内存

    时间:2022-11-14 08:08:02

    在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的内存部分我们会分为以下几部分进行介绍:Java内存模型可见性模式之两阶段终止模式之Balking原理之指令级并行有序性volatile原理Java内存模型我们首先来介绍一下Java内存模型:JMM 即 Java Memory Mode...

  • JUC学习笔记——共享模型之管程

    时间:2022-11-12 09:07:20

    在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分我们会分为以下几部分进行介绍:共享问题共享问题解决方案线程安全分析Monitorsynchronized锁Wait/notify模式之保护性暂停模式之生产者消费者park线程状态转换详解多锁操作活跃性ReentrantLock...

  • 【Java多线程】JUC包下的工具类CountDownLatch、CyclicBarrier和Semaphore

    时间:2022-11-09 00:41:03

    前言JUC中为了满足在并发编程中不同的需求,提供了几个工具类供我们使用,分别是CountDownLatch、CyclicBarrier和Semaphore,其原理都是使用了AQS来实现,下面分别进行介绍。CountDownLatchCountDownLatch的主要作用是利用计数来保证线程的执行顺序...

  • Java多线程系列--“JUC锁”

    时间:2022-11-05 20:50:50

    转自:http://www.cnblogs.com/skywang12345/p/java_threads_category.html Java多线程系列--“JUC锁”01之 框架  本章,我们介绍锁的架构;后面的章节将会对它们逐个进行分析介绍。目录如下:01. Java多线程系列--“JUC锁”...

  • JUC中常用集合类简介——ConcurrentHashMap

    时间:2022-11-04 16:59:13

    一般我们常用的HashMap并非是线程安全的,而ConcurrentHashMap是一个高效并发的HashMap,可以理解为一个线程安全的HashMap。 要得到线程安全的HashMap,一种可行的方法是使用Collections.synchronizedMap(Map<K,V> m)来...

  • Java多线程(7):JUC(上)

    时间:2022-11-01 11:21:16

    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~前面把线程相关的生命周期、关键字、线程池(ThreadPool)、ThreadLocal、CAS、锁和AQS都讲完了,现在就剩下怎么来用多线程了。而要想用好多线程,其实是可以取一些巧的,比如JUC(好多面试官喜欢问的JUC,就是现在要讲的...