自定义博客皮肤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)
  • 收藏
  • 关注

原创 一文介绍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关注的人

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