javaee
文章平均质量分 85
Xiny03
这个作者很懒,什么都没留下…
展开
-
CAS和Synchronized原理
把旧的value用寄存器保存起来,这里的oldvalue可以理解为寄存器中的值 ,相当于是先把内存中的值读到寄存器中去了,这里CAS()正常情况下,oldValue应该和value是一样的,然后这里就会产生CAS,把oldValue+1写到value中,但是也有可能会有执行完读取value到寄存器之后,线程发生切换了,另外一个线程也修改了value的值,此时这个线程回来之后,再进行CAS判定,就认为不相等了,在①和②的代码之间,可能会发生线程调度。原子类的实现,每次修改之前,再确认一下这个值是否符合要求。原创 2023-02-14 23:30:09 · 105 阅读 · 0 评论 -
常见锁策略
乐观锁:预测锁竞争不是很激烈(做的工作相对更少),悲观锁:预测锁竞争会很激烈(做的工作可能就会更多一点),出发点不同,背后的工作是截然不同的,疫情放开,小明认为应该屯粮屯药,小红认为没啥事,该来的总会来,小红处于一个对这个事情乐观的状态,小明处于对这个事悲观的状态,悲观和乐观的唯一区分,主要就是看预测锁竞争激烈程度的结论,如果你接下来的工作都是围绕着锁竞争不激烈展开的,那就是一个乐观锁,如果围绕激烈展开的,那么就是悲观锁。就是提供了三种操作,针对读加锁,针对写加锁,解锁,多线程针对同一个变量并发读。原创 2023-02-14 20:51:29 · 61 阅读 · 0 评论 -
阻塞队列,消息队列
队列是一个先进先出的数据结构,阻塞队列是带有特殊功能的队列1.如果队列为空,执行出队列操作,就会阻塞,阻塞到另一个线程往队列里添加元素(队列不空)为止。2.如果队列满了,执行入队列操作,也会阻塞,阻塞到另一个线程从队列取走元素位置(队列不满)原创 2023-02-11 14:22:52 · 806 阅读 · 0 评论 -
单例模式(饿汉和懒汉)
单例模式是设计模式中的一种,设计模式就好比于菜谱,大厨把一些常见的做菜过程写成菜谱,大家照着做,自然做出来的味道也不会差到哪里去,而这个菜谱就成为设计模式。单例模式 就指的是单个实例(对象),在有些场景中,有的特定的类只能创建出一个实例,不应该创建出多个实例,但是像这样的需求,不依赖单例模式也可以只靠君子约定实现,但是有了单例模式以后,此时就只能创建一个实例,一个男的在古代可以娶多个老婆,放在古代,只娶一个是君子协议,放在现代只娶一个是法律,就只能娶一个。原创 2023-02-10 19:27:34 · 86 阅读 · 0 评论 -
计算机工作原理【操作系统和进程】
操作系统是一个搞管理的软件,是软件硬件用户之间交互的媒介,目前常见的操作系统有Windows系列,Linux系列 (适合开发和部署 用于1.服务器2.嵌入式设备(冰箱 洗衣机...)3.移动设备),Mac系列 (苹果电脑用的系统),Android系列(本质上也是Linux),IOS系列。进程原创 2022-12-16 21:58:21 · 299 阅读 · 1 评论