Java——》synchronized互斥性

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Kafka】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】
    总结——》【Linux】
    总结——》【MongoDB】
    总结——》【Elasticsearch】

Java——》synchronized互斥性

synchronized是互斥锁,每个线程获取synchronized时,基于synchronized绑定的对象去获取锁!

锁类型描述
无锁(匿名偏向)
偏向锁查看对象头中的MarkWord里的线程ID是否是当前线程。
- 如果是,拿锁执行业务
- 如果不是,CAS尝试修改,修改他几次,不成,再升级为轻量级锁
轻量级锁查看对象头中的MarkWord里的Lock Record指针指向的是否是当前线程的虚拟机栈。
- 如果是,拿锁执行业务
- 如果不是,CAS尝试修改,修改他几次,不成,再升级到重量级锁
重量级锁查看对象头中的MarkWord里的指向的ObjectMonitor,查看owner是否是当前线程。
- 如果是,拿锁执行业务
- 如果不是,扔到ObjectMonitor里的EntryList中,排队,并挂起线程,等待被唤醒。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/107665.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度融入垂直行业是物联网未来发展必由之路

三年疫情,打断了很多企业的发展进程。但是疫情已过似乎整个业界生态有了一个很大变化。有一个朋友前一段时间参加深圳电子展后有一个感悟,说的很好:“疫情后有很大变化,疫情后,整个环境状态和疫情前有很大不同。无论企…

学习记忆——宫殿篇——记忆宫殿——数字编码——三十六计

案例:中国古代兵书《三十六计》 第1计 瞒天过海 第2计 围魏救赵 第3计 借刀杀人 第4计 以逸待劳 第5计 趁火打劫 第6计 声东击西 第7计 无中生有 第8计 暗渡陈仓 第9计 隔岸观火 第10计 笑里藏刀 我们可以这样记忆: 一、先熟悉1-10的编码:…

Linux操作(查询日志)

目录 前言 查看日志 cat less head tail 小结 前言 之前的linux文章属于入门linux,这篇文章主要是linux在后端开发人员中对日志的的运用.对于linux基础掌握不是很好的小伙伴可以先去看看linux基础操作:Linux系统使用(超详细)_linux操作系统使用_陌上 烟雨齐的博客-CSDN博…

个人云存储:使用Cpolar和极简主义文件管理器构建的公网访问平台

文章目录 1. 前言2.Tiny File Manager网站搭建2.1.Tiny file manager下载和安装2.2 Tiny file manager网页测试2.2 Tiny file manager网页测试3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试总结 1. 前言 文件共享和查阅是现在网络最常见的应用场景&am…

Docker部署EMQX

1、简介 EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。 Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。 MQTT 是轻量的 (Lightweight)、发布订阅模式 (Pu…

MATLAB | 绘图复刻(十二) | 桑基图+气泡图

hey 绘图复刻居然已经出到第十二期,破百指日可待hiahiahia,今天来复刻一下 Yu, W., Wang, Z., Yu, X. et al. Kir2.1-mediated membrane potential promotes nutrient acquisition and inflammation through regulation of nutrient transporters. Nat …

浅谈Oauth2.0授权

一、背景 近期公司准备上身份认证平台(IAM),主要有两块内容,一部分是单点登录、一部分是账号生命周期管理。其中涉及几个常用的单点登录标准认证协议,其中有SMAL、LOAP、CAS、OIDC、Oauth2.0,本篇文章对Oau…

java授权码方案 软件实现时间授权 离线授权 夏末版

java项目在离线状态下部署到客户端,很容易被反编译,授权容易被破解, 给项目盈利带来很大的困难, 特别是小项目很容易失败, 小项目特别需要完善可靠的授权加密解决方案 本方案只需要集成一个jar包就可以实现在关键节点完成,授权验证,离线时间验证等功能,特别是个中小项目的开发…

如何评估大型语言模型

01 对大型语言模型(LLM)的 主客观评估 在评估大型语言模型时,我们可以进行客观评估和主观评估。 主观评估的方法是用户亲自尝试不同的模型,提出一些问题,然后根据自己的感受来判断哪个模型好,哪个模型不好。…

github一些有趣的使用场景和基本使用方法

文章目录 github的使用入门安装 Git创建 GitHub 帐户在本地设置 Git克隆仓库进行修改和提交推送更改拉取更新 删除Github上废弃的仓库注意 github更多有趣的使用场景协作和社交编程文档和知识库学习和教育自动化工作流程数据科学和可视化用来写blogGitHub PagesJekyllHexo第三方…

App自动化测试持续集成效率提高50%

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品…

Java线上故障排查(CPU、磁盘、内存、网络、GC)+JVM性能调优监控工具+JVM常用参数和命令

CPU/堆/类/线程 根据服务部署和项目架构,从如下几个方面排查: (1)运用服务器:排查内存,cpu,请求数等; (2)文件图片服务器:排查内存,cpu,请求数等…