- 博客(12)
- 收藏
- 关注
原创 一文介绍git在实际工作中的用法!(通俗易懂)
git实际上就是一个用来协同管理代码版本的工具,可以根据git来记录管理代码版本迭代。从而使开发团队更加高效协同工作。
2025-10-20 14:58:17
2363
原创 一文详解mapstruct用法
随着业务的复杂,模块划分会越来越细。由于实体类存在于domain之中,并且domain通常要求不要被其他工程依赖,所以其他工程想获取实体类数据时就需要在各自工程写 dto,自定义dto可以根据自身业务需要映射相应的实体属性。所以需要进行转换映射,那么考虑到复杂对象的转换以及转换性能,mapstruct绝对是非常有效的手段。
2025-10-14 20:02:28
2304
原创 一文带你了解乐观锁和悲观锁的本质区别!
CAS是(比较并交换)的缩写,是一种轻量级的同步机制,主要用于实现多线程环境下的无锁算法和数据结构,保证了并发安全性。它可以在不使用锁的情况下,对共享数据进行线程安全的操作。它就是用一个预期值和要更新的变量值进行比较,两值相等才会进行更新。CAS 操作是一个原子操作,它在执行期间不会被其他线程中断。因此,它能够提供一种乐观并发控制机制,避免了传统锁机制的开销和可能的线程阻塞。
2025-07-17 11:32:38
3758
原创 (二)深入底层源码,剖析AQS的来龙去脉!
AQS使用内部类ConditionObject构建等待队列,当Condition调用await()方法后,等待获取锁资源的线程将会加入等待队列中,而当Condition调用signal()方法后,线程将从等待队列转移到同步队列中进行锁资源的竞争。
2025-02-11 21:31:31
1448
原创 (一)从底层源码剖析AQS的来龙去脉!
谈到并发,那么就不得不提到AQS(AbstractQueuedSynchronizer)了,它是Java并发包的一个核心类,可以用于实现各种同步器提供了一个框架,例如ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock、FutureTask等。接下来,让我们从源码的角度来分析AQS的实现原理。
2025-01-15 17:20:04
2762
原创 谈一谈数据库中的死锁问题
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
2024-07-29 14:26:33
3678
原创 谈一谈一条SQL的查询、更新语句究竟是如何执行的?
首先建立连接,然后当走到在查询缓存的时候,更新表的操作会导致缓存的清空【区别】,所以这个时候T表的所有缓存结果都清空。接下来,分析器会通过词法和语法解析知道这是一条更新语句。优化器决定要使用ID这个索引。然后,执行器负责具体执行,找到这一行,然后更新…
2024-07-20 23:14:03
1551
原创 谈一谈一条SQL查询语句究竟是如何执行的?
大体来说,MySQL可以分为`Server层`和`存储引擎层`两部分。server层包含查询缓存、分析器、优化器、执行器等,以及及所有的内置函数(如日期、时间....)所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等.....
2024-07-20 23:12:10
2346
原创 设计模式 - Singleton pattern 单例模式
单例模式是一种创建型设计模式,它用来保证一个类只有一个实例, 并且提供一个访问该实例的全局节点。其在很多场景中都有应用,比如数据库连接池、日志记录器、Spring中对象的创建等。总的来说,单例模式在需要控制实例数量、确保全局唯一性的场景中被广泛应用。单例模式通过限制类的实例化对象为一个,可以确保全局唯一性的场景中被广泛应用,从而有助于控制资源访问、简化全局访问点、减少内存占用等,在很多情况下都可以提升程序的运行效率。
2024-07-17 13:40:39
4054
原创 彻底理解Spirng中的依赖循环是如何解决的!
BeanA 类依赖了 BeanB 类,同时 BeanB 类又依赖了 BeanA 类。这种依赖关系形成了一个闭环,我们把这种依赖关系就称之为循环依赖。
2024-07-10 14:23:33
1136
原创 深入MySQL的事务隔离级别(场景描述 + 超详解析 = 通俗易懂!)
事务是一组操作的集合,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
2024-06-26 10:47:50
3552
2
原创 谈一下MySQL的两阶段提交机制
为了保证事务的持久性和一致性,MySQL需要确保redo log和binlog的同步持久化。在事务提交时,这两个日志必须保持一致,以避免出现数据不一致的问题。MySQL通过“两阶段提交”的机制来实现这一点。
2024-06-22 22:41:26
2312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅