• 2024-12-23【Java并发】Lock锁详解
    目录什么是LockLock和synchronized的区别Lock的实现类ReentrantLock锁(Lock的默认实现)基本使用ReentrantLock的特点ReentrantReadWriteLock锁(读写锁)基本使用1.初始化锁2.读操作3.写操作ReentrantReadWriteLock的特点 StampedLock锁(乐观读锁)基本使用1.初始化锁
  • 2024-12-22多线程-锁-写锁(独占锁)/读锁(共享锁)
    一个资源能够被多个读线程访问,或者被一个写线程访问,但是不能同时存在读写线程。特点        可重入        读写分离无锁无序→加锁→读写锁演变classMyResource{Map<String,String>map=newHashMap<>();//=====ReentrantLock等价于=====s
  • 2024-12-10第 6 章 Java 并发包中锁原理剖析Part two
    目录6.3读写锁ReentrantReadWriteLock的原理写锁的获取与释放 1.voidlock() 2.voidlockInterruptibly()3.booleantryLock()4.booleantryLock(longtimeout,TimeUnitunit)5.释放锁 voidunlock()读锁的获取与释放1.voidlock()2.voidlockInterruptibly()3.boo
  • 2024-12-08读锁与写锁
    记住这3条:“读锁-读锁可以共存,读锁-写锁不可共存,写锁-写锁不可共存”。用多线程来展示读锁和写锁的使用publicclassReadWriteLockDemo{privatestaticvolatileMap<Integer,Object>map=newConcurrentHashMap<>();privatestaticReentrantReadWriteLocklo
  • 2024-11-26985研一学习日记 - 2024.11.25
    一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。日常1、起床2、健身3、LeetCode刷了1题单词拆分给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。该问题
  • 2024-11-26JUC并发编程
    JUC并发编程文章目录JUC并发编程1.JUC读写锁2.BlockingQueue阻塞队列1.JUC读写锁悲观锁和乐观锁悲观锁就是操作时一定先进行上锁,等操作结束后再释放锁,就是假设自己操作时别人一定会更新,故操作前一定会加锁;可以避免各种并发问题,但不支持并发操作,效率很低乐观
  • 2024-11-25【MySQL实战45讲笔记】基础篇—— 全局锁和表锁
    系列文章基础篇——MySQL的基础架构基础篇——redolog和binlog基础篇——事务隔离基础篇——深入浅出索引(上)基础篇——深入浅出索引(下)目录系列文章6.1全局锁6.1.1server级和存储引擎级的全局锁6.1.2FTWRLVSreadonly6.2表级锁6.2.1表锁6.2.2MDL元数据
  • 2024-12-06医院招聘考试管理系统|Java|SSM|JSP| 前后端分离
     【重要1⃣️】前后端源码+万字文档+部署文档            【包含内容】【一】项目提供非常完整的源码注释【二】相关技术栈文档【三】源码讲解视频                     【其它服务】【一】可以提供远
  • 2024-12-03长链接在http2中与http/1.1协议中有什么区别?
    在HTTP/1.1中,为了克服队头阻塞问题以及提高页面加载速度,浏览器会与服务器建立多个TCP连接,并行地下载资源。然而,过多的连接也会带来新的问题,例如连接建立的开销、资源竞争等。在HTTP/2中,引入了多路复用的概念,它允许在单个TCP连接上并发地传输多个请求和响应。这意味着浏览
  • 2024-09-24【Java】并发编程的艺术:悲观锁、乐观锁与死锁管理
    目录一、乐观锁和悲观锁二、ReadWriteLock三、StampedLock四、Semaphore五、死锁的条件六、如何发现死锁七、如何避免死锁一、乐观锁和悲观锁        悲观锁(PessimisticLocking)具有强烈的独占和排他特性。它指的是对数据被外界修改持保守态度。因此,在整
  • 2024-09-16Java 锁实现
    在Java中,锁有多种实现方式,主要包括以下几种:一、synchronized关键字1.作用于方法   同步实例方法:通过在实例方法上使用synchronized关键字,锁对象是当前实例对象(this)。确保在同一时刻,只有一个线程可以执行该实例方法。   同步静态方法:在静态方法上使用synchroniz
  • 2024-09-13Java中的锁
    Java中的锁公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁
  • 2024-08-25golang mutex原理
    最近面试遇到问锁的问题,答得不是很好,重新做一下总结梳理 go中的sync包提供了两种锁的类型,分别是互斥锁sync.Mutex和读写锁sync.RWMutex,这两种锁都属于悲观锁饥饿模式与正常模式在下面的内容会经常涉及到一个概念,饥饿模式,这里先简单说一下1.正常模式(非公平锁)正常模式下,所
  • 2024-08-18go的读写锁sync.RWMutex
    有这样一个经典的读写锁问题,假设读锁和写锁之前互斥,读锁和读锁之间不互斥。现在做一个实验:1、线程A加一个读锁,然后不释放;2、然后线程B想加一个写锁,会被线程A的读锁阻塞;3、然后有个线程C尝试去加一个读锁。按照上面的步骤,步骤3能加锁成功吗?使用go语言的sync.RWMutex模拟这段
  • 2024-07-23锁的分类和JUC
    锁的分类乐观锁、悲观锁对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字是最典型的悲观锁。乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不
  • 2024-07-22第五讲:全局锁和表锁 :给表加个字段怎么有这么多阻碍?
    目录第五讲:全局锁和表锁:给表加个字段怎么有这么多阻碍?引言:锁的分类:全局锁场景:弊端:好处分析:回顾:提出问题:问题一:问题二:表级锁表锁:元数据锁(MDL)案例:变故发生:基于案列说问题:操作小结提问:官方:我的理解(片面了):深入:第五讲:全局锁和表锁:给表加个字段怎么有这么多阻碍?引言:​ 今天我要
  • 2024-07-18为什么StampedLock会导致CPU100%?
    StampedLock是Java8引入的一种高级的锁机制,它位于java.util.concurrent.locks包中。与传统的读写锁(ReentrantReadWriteLock)相比,StampedLock提供了更灵活和更高性能的锁解决方案,尤其适用于读操作远多于写操作的场景。1.特点展示相比于Java中的其他锁,StampedLock具有以
  • 2024-07-10【转】-Java锁解析
    不可不说的Java“锁”事**该博客转载自美团技术团队的不可不说的Java“锁”事**前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK8和Netty3.10.6)、使用场景进行举例,为读者介绍主流锁的知识
  • 2024-07-10【转】-java多线程读写锁ReadWriteLock
    Java多线程中读写锁ReadWriteLock的使用该博客转载自​lavimer​的​Java多线程中读写锁ReadWriteLock的使用1.概念读写锁分为读锁和写锁,多个读锁之间是不需要互斥的(读操作不会改变数据,如果上了锁,反而会影响效率),写锁和写锁之间需要互斥,也就是说,如果只是读数据,就可以多个线程
  • 2024-07-06MySQL锁
    MySQL锁1.前言锁是计算机在执行多线程或线程时用于并发访问同一共享资源时的同步机制,MySQL中的锁是在服务器层或者存储引擎层实现的,保证了数据访问的一致性与有效性MySQL锁可以按模式分类为:乐观锁与悲观锁。按粒度分可以分为全局锁、表级锁、页级锁、行级锁。按属性可以分为:共
  • 2024-07-03MySQL-表级锁(表锁、元数据锁、意向锁)
    文章目录1、表级锁介绍1.1、对于表级锁,主要分为以下三类:2、表锁2.1、对于表锁,分为两类:2.2、共享读锁2.2.1、创建表score2.3、独占写锁3、元数据锁3.1、查看数据库中的元数据锁的情况4、意向锁4.1、假如没有意向锁4.2、有了意向锁之后4.3、查看意向锁及行锁的加锁情
  • 2024-06-19进阶篇06——锁
    概述全局锁表级锁表锁元数据锁元数据锁是系统自动加的,不需要我们手动执行命令添加。意向锁 意向锁和元数据锁一样,也是在加行锁的时候自动给表加上相应的意向锁,不需要我们手动添加。行级锁行锁读锁和读锁兼容,写锁和读锁互斥,写锁和写锁也互斥间隙锁、临