- 博客(15)
- 收藏
- 关注
原创 回顾CAS
线程1进行Compare,发现预期值 A 和内存地址 V的实际值是相等的,进行 Swap 操作,将内存地址 V 的实际值修改为 B。总结:更新一个变量的时候,只有当变量的预期值 A 和内存地址 V 中的实际值相同时,才会将内存地址 V 对应的值修改为 B,这整个操作就是。(4)线程1开始提交更新,首先将预期值A和内存地址V的实际值比较(Compare),发现A不等于V的实际值,提交失败。(2)线程1想要把内存地址为 V 的变量值增加1。这个时候对线程1来说,旧的预期值A=1,要修改的新值B=2。
2023-08-16 23:40:14
68
1
原创 UD在线学习网站开发日记(二)丨媒资管理模块
一次课程发布操作需要向数据库、redis、elasticsearch、MinIO写四份数据,这里存在分布式事务问题。什么是分布式事务?首先理解什么是本地事务?平常我们在程序中通过spring去控制事务是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,此数据库只属于该应用,所以基于本应用自己的关系型数据库的事务又被称为本地事务。
2023-08-14 20:43:46
81
原创 @Resource与@Autowired的区别
当使用依赖注入时,@Autowired和@Resource都可以将依赖对象自动注入到目标类中。
2023-07-10 14:12:46
115
1
原创 详细分析消息中间件RocketMQ
2007 年,阿里开始五彩石项目,Notify作为项目中交易核心消息流转系统,应运而生。Notify系统是RocketMQ的雏形。2010 年,B2B大规模使用ActiveMQ作为阿里的消息内核。阿里急需一个具有海量堆积能力的消息系统。2011 年初,Kafka开源。淘宝中间件团队在对Kafka进行了深入研究后,开发了一款新的MQ,MetaQ。2012 年,MetaQ发展到了v3.0版本,在它基础上进行了进一步的抽象,形成了RocketMQ,然后就将其进行了开源。
2023-07-09 13:42:30
677
1
原创 Jackson在企业开发中的应用
企业的实际开发过程中,Jackson 是一个强大且广泛使用的 JSON 库,可以方便地进行 JSON 数据的序列化和反序列化操作。
2023-06-30 10:34:08
152
1
原创 集合的简要复习
无序,不重复,无索引HashSet在底层是以哈希表的形式存储数据的,而哈希表是一种对于增删改查数据性能都比较好的数据结构,哈希表在JDK8以前是由数组+链表组成的,JDK8以后改成由数组+链表+红黑树组成。1.根据hashCode方法算出来的int类型的整数。2.该方法定义在Object类中,所有对象都可以调用,默认使用地址值进行计算。3.一般情况下,会重写hashcode方法,利用对象内部的属性值计算哈希值。应注意:1.如果没重写hashCode方法,则不同对象的哈希值是不一样的。
2023-04-21 18:26:23
81
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人