- 博客(8)
- 收藏
- 关注
原创 关于那些mysql的数据读写和日志机制
MySQL的底层原理涉及数据读写与日志机制,主要关注InnoDB存储引擎。其核心组件包括缓冲池、日志系统和事务系统,共同确保数据的一致性和持久性。日志机制主要包括RedoLog、UndoLog和Binlog。RedoLog用于崩溃恢复,记录数据页的物理修改;UndoLog用于事务回滚和多版本并发控制,记录事务前的数据状态;Binlog用于主从复制和恢复,记录修改数据的SQL语句。MySQL采用两阶段提交机制确保RedoLog和Binlog的一致性。优化建议包括调整日志文件大小、选择适当的日志格式和监控长事务
2025-05-09 20:35:02
1250
原创 Spring的三级缓存原来这么简单?!
那我们有没有什么办法让二级缓存在需要代理的时候返回代理对象 不需要返回代理的时候返回普通对象呢 有的兄弟有的 我们只需要在二级缓存下再增加一个三级缓存用于判断bean是否需要代理 如果需要 则往二级缓存中返回代理对象 不需要则返回普通对象 然后根据二级缓存解决依赖注入就可以了。这是只有一二级缓存的情况 可以看到第三列返回的是普通对象 可是如果a需要aop代理 我们应该返回的是代理对象而不是普通对象。接下来是我们先来看循环依赖问题。
2025-04-27 21:13:53
260
原创 docker search minio出现超时?
当我们search超时的时候,可以在网上搜寻最好的minio版本然后直接docker pull下来就可以了。直接拉取(无需先search)接下来我们分析一下原因。
2025-04-12 15:02:46
480
原创 关于你想知道的索引下推、回表、索引覆盖。
在数据库查询优化中,索引下推(Index Condition Pushdown, ICP)、回表(Back to Table)和索引覆盖(Covering Index)是三个关键机制。
2025-04-12 14:42:40
1669
原创 Java深度解析:hashCode与equals的核心区别与协同机制
在Java开发中,hashCode()和equals()是对象识别的两大基石方法。问题:若子类未正确重写方法,可能破坏对称性(如Parent.equals(Child)与Child.equals(Parent)结果不一致)。• 若a.equals(b) == true,则a.hashCode() == b.hashCode() 必须成立。• equals():判断对象的逻辑相等性(内容是否相同)。• 哈希冲突激增:低质量的哈希算法会导致链表过长,使哈希表退化为线性结构(时间复杂度从O(1)变为O(n))。
2025-04-12 14:34:32
529
原创 Spring AOP底层详解:是不是就像给你家小区加个保安?
如果说IOC是Spring的“骨架”,AOP则是“神经系统”——前者管理对象的生命周期,后者控制行为增强。Spring AOP(面向切面编程) 就是代码世界的“保安系统”,它能将日志记录、权限校验、事务管理等横切关注点(CrossCutting Concerns)从业务逻辑中剥离,让核心代码更纯粹。AOP通过动态代理技术,在不修改源码的情况下,为代码插入统一的增强逻辑。动态代理通过反射或字节码增强实现,虽带来轻微性能损耗(约10%20%),但在大多数场景下,其提升的代码可维护性远大于此代价。
2025-04-10 21:19:22
387
原创 Spring IOC 底层详解:本质就和做饭与点外卖差不多!
传统开发中,对象A依赖对象B时,A需要自己new B(),就像自己买菜做饭。而IOC通过“反转”控制权,让容器(Spring)统一管理对象的生命周期和依赖注入,开发者只需声明“我需要什么”,无需关心“如何创建”。就像外卖解放了我们的双手,IOC解放了程序员的“造物主焦虑”。想象你每天要自己买菜、洗菜、炒菜才能吃上饭,而突然有一天有了外卖平台——你只需要告诉平台“我要什么”,平台就能把做好的饭菜送到你手上。Spring IOC(控制反转)就是这个“外卖平台”,它接管了程序中对象的创建和依赖关系的管理。
2025-04-10 21:11:48
626
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人