synchronized内部工作原理

在这里插入图片描述

作者简介: zoro-1,目前大二,正在学习Java,数据结构,javaee等
作者主页: zoro-1的主页
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

synchronized内部工作原理

  • synchronized的锁策略
  • synchronized加锁过程(锁升级)(这个升级过程是不可逆的)
  • 锁消除
  • 锁粗化

synchronized的锁策略

乐观锁悲观锁自适应
轻量级锁重量级锁自适应
自旋锁挂起等待锁自适应
不是读写锁
非公平锁
可重入锁

synchronized加锁过程(锁升级)(这个升级过程是不可逆的)

  1. 偏向锁阶段

核心思想就是能不加锁就不加锁,相当于当只有一个线程和这个锁时候,就搞暧昧不加锁,但只要有另外一个线程竞争这个锁,就会在那个线程加上锁之前加上锁(并升级到2阶段),但如果没人竞争就不会加锁

2.轻量级锁阶段

假设现在竞争不多,就会采取自旋锁方式实现,但当现在锁竞争激烈时就会采取锁升级到3阶段

3.重量级锁阶段

这时的锁竞争比较激烈,拿不到锁的线程会挂起等待,让出cpu

锁消除

jvm会在程序不需要锁时自动消除锁(但这个是保守的)

锁粗化

在这里插入图片描述

当一个线程粗度比较细时就会把上述加锁解锁过程粗化(如下图)

在这里插入图片描述

                           今天的分享到这里就结束了,感谢大家支持

在这里插入图片描述

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

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

相关文章

【AWS】step-functions服务编排

文章目录 step-functionsState machine typeStandard workflowsExpress workflows design skillsError handlingsaga Transaction processing控制分布式系统中的并发性 收费 作为AWS Serverless无服务器的一个重要一环 使用step-functions方法将 AWS 服务链接在一起 step-funct…

PySpark(二)RDD基础、RDD常见算子

目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…

数据结构:单链表

文章目录 1. 单链表的概念及结构2. 单链表相关操作2.1 创建节点2.2 尾插2.3 打印2.4 头插2.5 尾删2.6 头删2.7 查找2.8 指定位置后插入2.9 指定位置前插入2.10 删除指定位置2.11 删除指定位置后的节点2.12 销毁单链表 3. 链表种类 1. 单链表的概念及结构 概念:链表…

wespeaker项目grpc-java客户端开发

非常重要的原始参考资料: 链接: triton-inference-server/client github/grpc java ps: 使用grpc协议的其它项目python/go可以参考git hub目录client/tree/main/src/grpc_generated下的其它项目 其它链接: 想要系统了解triton-inference-ser…

R语言:箱线图绘制(添加平均值趋势线)

箱线图绘制 1. 写在前面2.箱线图绘制2.1 相关R包导入2.2 数据导入及格式转换2.3 ggplot绘图 1. 写在前面 今天有时间把之前使用过的一些代码和大家分享,其中箱线图绘制我认为是非常有用的一个部分。之前我是比较喜欢使用origin进行绘图,但是绘制的图不太…

鸿蒙内核框架

1 内核概述 内核简介 用户最常见到并与之交互的操作系统界面,其实只是操作系统最外面的一层。操作系统最重要的任务,包括管理硬件设备,分配系统资源等,我们称之为操作系统内在最重要的核心功能。而实现这些核心功能的操作系统模…

VS编译器对scanf函数不安全报错的解决办法(详细步骤)

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

kubesphere部署k8s-v1.23.10

功能: 🕸 部署 Kubernetes 集群 🔗 Kubernetes 多集群管理 🤖 Kubernetes DevOps 🔎 云原生可观测性 🧩 基于 Istio 的微服务治理 💻 应用商店 💡 Kubernetes 边缘节点管理 &#x1…

数据分析基础之《pandas(4)—pandas画图》

1、DataFrame.plot(xNone, yNone, kindline) 说明: x:设置x轴标签 y:设置y轴标签 kind: line 折线图 bar 柱状图 hist 直方图 pie 饼图 scatter 散点图 # 找到p_change和turnover之间的关系 data.plot(xvolume, yturnover, kinds…

AUTOSAR CP--chapter2Autosar简介

Autosar简介 安全:使用严格的标准化去约束; 高效:通过提高软件模块的可移植性和复用性来提升; 灵活:通过上位机剪裁配置,自动生辰的手段来实现。 Autosar标准从行业高度统一了各个角色间的分工、接口以及方…

Flink 1.18.1的基本使用

系统示例应用 /usr/local/flink-1.18.1/bin/flink run /usr/local/flies/streaming/SocketWindowWordCount.jar --port 9010nc -l 9010 asd asd sdfsf sdf sdfsdagd sdf单次统计示例工程 cd C:\Dev\IdeaProjectsmvn archetype:generate -DarchetypeGroupIdorg.apache.flink -…

计算机服务器中了locked勒索病毒怎么处理,locked勒索病毒解密数据恢复

网络技术的不断发展,为企业的生产生活提供了极大便利,但也为网络安全带来严重威胁。近期,云天数据恢复中心接到某集团企业的求助,企业的计算机服务器遭到了locked勒索病毒攻击,导致企业系统内部的金蝶账套全部被加密&a…

正则表达式补充以及sed

正则表达式: 下划线算 在单词里面 解释一下过程: 在第二行hello world当中,hello中的h 与后面第一个h相匹配,所以hello中的ello可以和abcde匹配 在world中,w先匹配h匹配不上,则在看0,r&#…

英码科技携手昇腾共建算力底座:推出EA500I超强AI处理能力边缘计算盒子!

在数字经济浪潮中,算力已成为不可或缺的驱动力,为各行各业的数字化转型提供了强大的推动力。面对多元化和供需不平衡的挑战,需要实现从理论架构到软硬件实现的质的飞跃,以满足持续增长的算力需求,华为昇腾在这一方面展…

游戏后端如何实现服务器之间的负载均衡?

在当今的游戏行业中,随着游戏用户数量的不断增加,如何实现服务器之间的负载均衡成为了一个亟待解决的问题。游戏后端作为游戏的重要组成部分,承载着游戏逻辑处理和数据存储等功能,因此游戏后端的负载均衡问题尤为重要。本文将详细…

如何实现算力智能选择

为什么需要对算力进行智能选择 随着科技的飞速发展,算力已经成为制约人工智能应用性能的关键因素。为了满足各种应用场景下的计算需求,算力网络应运而生,它通过对分散的计算资源进行整合,并灵活地分配和调度,逐步推动算…

虚拟飞控计算机:飞行控制系统验证与优化的利器

01.背景介绍 随着航空技术的飞速发展,飞行控制系统作为飞机的心脏,全面负责监测、调整和维持飞行器的姿态、航向、高度等参数,用以确保飞行的安全和稳定。为了满足这些要求,现代飞控系统通常采用先进的处理器和外设来确保其高效、…

智能运维哪些算法?智能运维包含哪些

在智能运维领域,详细介绍一些关键的算法,并阐述这些算法是如何被应用于智能运维系统中的。此外,关于智能运维中包含的主要组成部分或功能模块,以及它们各自的作用和重要性。如何应用再场景中应用在智能运维行业,一些关…

从零开始手写mmo游戏从框架到爆炸(三)— 服务启动接口与网络事件监听器

导航:从零开始手写mmo游戏从框架到爆炸(零)—— 导航-CSDN博客 上一章我们完成了netty服务启动的相关抽象(https://blog.csdn.net/money9sun/article/details/136025471),这一章我们再新增一个全…

2023 OpenHarmony 年度运营报告

汇聚 70 家企业 6700名贡献者力量, OpenHarmony 已成为下一代智能终端操作系统根社区; 我们在成长,OpenHarmony 项目群成员单位增至 35 家; 2023 年持续迭代更新 6 个版本及 OpenHarmony4.0 重点特性简介……