java并发编程

Dexu73 个月前
juc·java并发编程
【Java 并发编程】(三) 从CPU缓存开始聊 volatile 底层原理原子性问题, 就不多说了, 下面重点介绍一下如何解决有序性和可见性问题;原则固然好, 问题是怎么实现呢? 主要就是 synchronized + volatile, synchronized已经介绍过, 这里介绍 volatile, 让我们先从缓存开始说起;
666-LBJ-6669 个月前
单例模式·juc·java并发编程
JUC并发编程-单例模式、深入理解CAS、原子引用饿汉式、DCL懒汉式单例模式,单线程模式下是安全的的,但是多线程模式下,不安全单例不安全, 因为反射如果使用反射重复创建单例对象,单例模式还是会被破坏
666-LBJ-6669 个月前
多线程·juc·java并发编程
JUC并发编程-各种锁:公平锁,非公平锁、可重入锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁升级顺序、死锁、死锁排查在Java中,锁(Lock)是一种用于多线程同步的机制。公平锁和非公平锁是两种不同类型的锁。公平锁(Fair Lock)是指线程获取锁的顺序与线程请求锁的顺序保持一致。换句话说,当多个线程同时请求一个公平锁时,锁会按照线程请求锁的顺序逐一分配锁。因此,公平锁保证了线程获取锁的公平性,在一定程度上避免了线程饥饿现象(某些线程一直无法获取到锁)。公平锁的实现通常会有比较大的性能开销。
橡 皮 人1 年前
面试·源码分析·aqs·java并发编程
Java并发编程第11讲——AQS设计思想及核心源码分析Java并发包(JUC)中提供了很多并发工具,比如前面介绍过的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore、FutureTask等锁或者同步部件,它们的实现都用到了一个共同的基类——AbstractQueuedSynchronizer,简称AQS。本篇文章将深入剖析AQS的工作原理和核心概念,以理解多线程同步的关键技术。
橡 皮 人1 年前
java·jvm·面试·java并发编程
Java并发编程第8讲——ThreadLocal详解ThreadLocal无论是在项目开发还是面试中都会经常碰到,它的重要性可见一斑,本篇文章就从ThreadLocal的使用、实现原理、核心方法的源码、内存泄漏问题等展开介绍一下。