自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 MySQL中

MVCC是一种并发控制机制,用于多个并发事务读写数据库时保持数据的一致性和隔离性。通过在每个数据行上维护多个版本的数据来实现。当一个事务对数据库的数据进行修改时,MVCC会为该事务创建一个数据快照,而不是直接修改实际的数据行。MVCC在MySQL中实现依赖的手段是:隐藏字段、read view、undo log隐藏字段、read view:用来判断当前版本数据的可见性undo log: 记录某行数据的多个版本的数据有记录锁、间隙锁、临键锁记录锁Record Lock:单个行记录上的锁。

2024-05-14 15:42:16 680 1

原创 秒杀系统场景设计

秒杀系统通常需要考虑:高性能、高可用、一致性、限流。

2024-05-08 23:15:29 573

原创 redis深度

redis的实现方式其实就是占坑,一般使用setnx(set if not exists)指令,只允许一个客户端占坑。如果del前有异常,导致del无法调用,就会使得锁得不到释放,就会死锁。所以考虑给锁加时间,例如加5s,哪怕有异常,5s后也释放set和expire不是原子操作,可能执行expire前出问题了,还是会死锁。而且这里不能使用事务来解决,例如线程A先用锁,线程B进来要锁,如果是事务,线程B没抢到锁,是不应该执行expire操作的。为解决这个问题,redis2.8之后加入了set指令扩展。

2024-03-10 12:19:01 693 1

原创 JUC并发编程(深入)

java线程是通过start的方法启动执行的,主要内容在native方法start0中,openjdk的写JNI一般是一一对应的,Thread.java 就对应Thread.c,start0就是JVM_StartThread。在openjdk源码中jvm.h对这个对应关系进行了声明,代码如下,在jvm.cpp中才实现。在jvm.cpp中传入本地native线程,在thread.cpp中 实现了Thread::start方法。在thread.cpp中,最终通过操作系统来启动一个线程。

2024-01-25 18:58:08 885

原创 JUC并发编程

JUC是java.util.concurrent工具包的简称,是一个处理线程的工具包。

2024-01-11 12:37:54 860

原创 Redis篇

使用场景:适用于存储简单的键值对数据,如用户会话信息、计数器、缓存等。

2023-12-25 16:12:01 21

原创 Spring框架(扩展篇)

Converter能将S类型的对象转换为T类型的对象,比如将String类型的对象转换为Integer类型的对象的实现类:使用: 二、ConverterFactoryConverter<S,T>接口适合一对一的类型转换,如果要将String类型转换为Ineger/Long/Float/Double/Decimal等类型,就要实现一系列的StringToInteger/StringToLongConverter/StringToFloatConverter转换器,非常不优雅。Converter

2023-12-25 09:24:54 32

原创 Spring框架(基础篇)AOP篇

面向切面编程。封装多个类的公共行为,讲与业务无关却被共同调用的逻辑封装起来,减少系统重复代码,降低模块间的耦合度。同时解决一些系统层面的问题,例如日志、事务、权限等。

2023-12-20 10:59:06 20 1

原创 Spring框架(基础篇)IoC篇

Spring狭义上特指Spring FrameWork,Spring有两个核心模块:IOC和AOP。

2023-12-19 17:14:54 27

原创 RPC框架(三)客户端篇

本文从个人学习感悟出发,理清从客户端端开始,一步步到RPC框架的所有脉络。希望与大家广泛交流。

2023-12-15 15:37:42 93

原创 RPC框架(二)服务端篇

从服务端开始理清RPC框架的脉络。

2023-12-15 10:35:58 101

原创 RPC框架(一) API接口

API接口的内容主要有两个,一个是HelloService,其作用是给客户端和服务端提供接口,客户端通过调用HelloService的方式,调用到远程的HelloServiceImpl里面的方法。服务端通过此接口复写该接口的方法。通过lombok不用写构造函数和set、get方法。

2023-12-13 17:25:40 51

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除