当前位置: 首页 > news >正文

JAVA Synchronized对象锁和类锁区别(牛逼)

一个类就像一个四合院,四合院的大门叫做构造方法,盖房子必须经过大门,每new一个对象,就表示在四合院里再盖一间新房子,大门上面的锁,叫做构造锁,里面每一间房子就是一个实例,每间房子里边都有一个锁叫做实例锁。
四合院里有厕所,水龙头,洗衣机等等都是公共设施,都叫做static资源)你想获得洗衣机,就需要调用static的洗衣机方法,也就是行为)

假如一天来了3个人租房子,第一个人租了一间小房子,那么他就获得一个实例(第一间房子),第二个人也租了一间房子,那么也获得一个实例(第二间房子),如果第三个人想租房子,他看第一间房子比较好,采光各方面都不错,他想租这个,但是呢,第一间房子已经租出去了,但是他不讲道理,闯着非要住,第一间房的住户正在家里吃馒头,没有锁门,这个人直接冲进来,说要租房子,看人家吃馒头,他随手直接吃了一个,然后第一个人就不够吃了,于是第一个人给他讲道理,说你没道德(你写代码肯定bug多),但是呢,第二个人根本就不吊他。过了几天第三个人又跑来,看他正在和老婆玩耍,门没锁,就直接冲进来,也想玩耍,然后就被第一个人打出来了,第一个人很扫兴,于是想出来一个办法,每次进屋后就把门锁了,这样第三个人想进来也进不来,就得等着,除非第一个人出来之后,别人才能进去。假如第一个人睡着了(sleep(xxx))外面的人可能就会等好久。 

有一天房东的老太太嫌烦,不想租房子了,就要求儿子把大门锁了,因此就不能租房子了,租房子必须经过大门,大门都锁了,还租个屁。因此构造方法都锁定了,还实例鸡毛对象。哈哈。


水龙头和游泳池都是属于当前这个四合院的,因此在java中要想使用 这些公共设施,前提你得告诉程序,你要使用哪个四合院的公共设施,四合院.水龙头 ,使用对象.的方式告诉程序。

假如说房东不想让这些住户使用水龙头,他就可以给水龙头上一把锁,给水龙头上锁,和给其它房子上锁完全是两个不同的对象,因此,锁定水龙头和锁定实例不互斥。这就是Synchronized对象锁和类锁区别

相关文章:

  • 24.3 分布式综合应用
  • AWTK-MODBUS 服务器
  • 阿里云ECS服务器安装java环境相关软件
  • 6个免费的ChatGPT网站
  • 常用的6个的ChatGPT网站,国内可用!
  • Docker搭建LNMP环境实战(一):前言
  • 基于python+vue 的一加剧场管理系统的设计与实现flask-django-nodejs-php
  • 服务器感染了.kat6.l6st6r勒索病毒,如何确保数据文件完整恢复?
  • 平衡隐私与效率,Partisia Blockchain 解锁数字安全新时代
  • Vscode初建Vue时几个需要注意的问题
  • 数据结构面试常见问题
  • 【Caddy】Caddy实践2——ubuntu下解决Caddy管理端点端口被占用的问题
  • 现在阿里云云服务器租用多少钱?一张表,报价单
  • 计算机视觉任务不能或缺的库opencv简单介绍和概述
  • 如何用VSCode和Clangd与Clang-Format插件高效阅读Linux内核源码及写驱动
  • Linux系统之jq工具的基本使用
  • 【OpenSSH】Windows系统使用OpenSSH搭建SFTP服务器
  • 数据结构:详解【栈和队列】的实现
  • 贪心算法(算法竞赛、蓝桥杯)--奶牛晒衣服
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水下目标检测系统(深度学习模型+UI界面+训练数据集)
  • 巴基斯坦称对印精准打击造成设施损坏和人员伤亡
  • 国办印发《关于进一步加强困境儿童福利保障工作的意见》
  • 秦洪看盘|交易型资金收缩,释放短线压力
  • 重视体重管理,筑牢健康基石
  • 绍兴柯桥:用一块布托起中国制造的新经纬
  • 外交部答澎湃:美方攻击抹黑中加关系与合作的卑劣图谋不会得逞