自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 binlog redolog undolog 三大日志

binlog redolog undolog 三大日志

2025-02-26 21:37:36 804

原创 Mysql事务&&隔离级别&&事务优化

1.事务的特性:原子性 一致性 隔离性 持久性隔离性由锁和MVCC机制来实现持久性有redo log 日志来实现。

2025-02-23 17:58:52 937

原创 Java线程中断(Interrupt)与阻塞(park)的区别

对于线程中断和线程阻塞两个概念,经常性是混淆起来用,单纯地认为线程中断与线程阻塞的概念是一致的,都是值线程运行状态的停止。其实这个观点是错误的,两者之前有很大的区别;

2025-02-20 21:19:17 551

原创 CountDownLatch

3.随后进入一个自旋 先判断一下前置节点 是不是Head 当一个节点是Head的时候 我们认为该节点已经出队 如果一个节点的前置节点为Head证明当前节点可以被唤醒就去执行争抢锁的操作,(去执行tryAcquireShared()方法) 如果返回值》=0 就意味着锁空闲 就是说子任务已经全部完成,当前节点可以不用再等待 可以直接出队;是什么:CountDownLatch是一个同步工具类,用来协调多个线程之间的同步(即:用于线程之间的通信而不是互斥)。AQS里面两个模式分别是独占模式和共享模式。

2025-02-15 20:04:10 410

原创 无锁编程 CAS AQS

在 无锁状态下就无需对资源进行锁定,所以就无需调用操作系统底层的同步源语比如nutex 可以减少用户态和内核态的转变。

2025-02-13 21:07:42 929

原创 (二)初步理解JVM虚拟机

我们运行一下下面的代码i ++){查看到这个Java程序的运⾏情况:这里需要我们重点关注的是 中间的Memory部分 ,这一部分就是记录JVM 内存使用的情况,后面的GC部分就是垃圾回收的执行情况,整体内存布局:如下图从Memory部分可以看到,⼀个Java进程会将他管理的内存分为heap堆区和nonheap⾮堆区两个部分。其中 ⾮堆区的⼏个核⼼部分像code_cache(热点指令缓存metaspace(元空间压缩类空间) 我们之前都接触到了。

2025-01-31 19:57:43 659

原创 初步理解JVM虚拟机

共享:堆:内存中最大的一个区域,对象实例和数组内部会划分出多个线程私有分配缓冲区;方法区:存储已经被虚拟机加载的类信息敞常量,静态变量 即使编辑器后的代码等数据;私有:虚拟机栈:局部变量表 操作数栈 方法出口;本地方法栈:Native方法;程序计数器:虚拟机字节码指令的地址或者UNdefined;3. 稍微具体的结构图:编译好class文件后才能交给JVM区执行,之后 class文件需要通过类加载机制把类加载到方法区 ,元数据区,然后需要交给执行引擎 将类中的指令解析出来去执行,

2024-12-31 10:38:24 749

原创 分布式锁相关总结

线程一加锁成功,就会启动一个 watch dog 看门狗,它是一个后台线程,会每隔 10 秒检查一下,如果线程 1 还持有锁,那么就会不断的延长锁 key 的生存时间。(1)获取锁的时候,使用setnx加锁,并使用expire命令为锁添加一个超时时间,超过该时间则自动释放锁,锁的value值为一个随机生成的UUID,通过此在释放锁的时候进行判断。(如果A抢占线程,然后再规定时间没有执行完逻辑,到期删除A锁,然后B过来了,锁旗标成了B,这个时候A执行完了,A再删除,这样就有误删B的情况存在)

2023-08-27 22:06:07 29

空空如也

空空如也

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

TA关注的人

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