自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入揭秘 ConcurrentHashMap:JDK7 到 JDK8 并发优化的演进之路

从源码层次剖析 ConcurrentHashMap 的线程安全机制,比较 JDK7 分段锁与 JDK8 CAS+红黑树方案,揭示其扩容、树化与高并发优化的核心原理。

2025-08-27 22:57:07 3607

原创 一文掌握Java IO流:原理、分类与实战

文章介绍Java IO流基础,区分字节流与字符流,并结合缓冲流、转换流与序列化流示例,帮助入门

2025-08-25 10:16:05 4196

原创 深入解析 Spring Caffeine:揭秘 W-TinyLFU 缓存淘汰策略的高命中率秘密

系统解析 Caffeine 在 Spring 中的缓存实现,详细剖析 W-TinyLFU 结合 Window、TinyLFU 与 SLRU 的淘汰机制及其高命中率原理与优势。

2025-08-16 13:31:14 3209

原创 面试官问你 MySQL 的线上执行 DDL 该怎么做?4 种方案多角度回答!

揭秘MySQL三大DDL算法(copy、inPlace、Instant Add Column),助你线上修改表结构不锁表、不宕机,轻松解决面试与生产难题!

2025-07-22 16:03:59 7101

原创 Park 打断大反转!一次 park 不阻塞,参数化日志竟成幕后黑手?

一次 park 不阻塞的背后竟是 permit 时序微调!通过日志格式改变执行顺序,探究 park()、interrupt() 与 permit 的隐秘机制,揭示并发调试中的细节陷阱。

2025-07-17 11:31:49 8172

原创 深入浅出Redis:一文掌握Redis底层数据结构与实现原理

Redis之所以高效,不仅在于它的内存操作,更在于巧妙的数据结构设计。本文带你揭开Redis底层数据结构的神秘面纱,包括动态字符串SDS如何解决C语言字符串问题、IntSet如何高效处理整数集合、Dict哈希字典如何快速实现键值对存储与扩容、ZipList如何节省空间但又引发“连锁更新”的问题、QuickList如何兼具空间高效与操作性能、SkipList跳表如何做到类似红黑树的查询效率,以及RedisObject如何统一不同类型的数据存储。在阅读完本文后,你将对Redis数据结构的设计思想与源码实现原理有

2025-07-11 19:33:08 8714

原创 想给面试官吹DDD?项目像搭积木一样运行:领域驱动设计(DDD)让复杂业务变简单

“想象一下,如果可以像搭积木一样组装你的系统,每一块都是独立可复用的‘业务能力’,是不是很酷?这正是DDD的魅力所在。”

2025-06-26 12:28:57 6365

原创 MySQL是怎么提高并发度的?InnoDB为什么会设计这些锁?一篇文章串通MySQL各种锁!

首先你要明白的是间隙锁的引入是为了解决幻读问题的,其次幻读特指其他事务在我查询的范围中新插入了数据,明白了这一点,你就能抓住重心,如何才能锁住不造成幻读的范围...

2025-06-24 15:01:52 9757

原创 你真的懂 MySQL 的一致性读和当前读的区别吗? 为什么表结构必须遵循当前读?

本文章将逐步拆分讲解 ReadView,深入理解当前读和一致性读的区别。使用查询语句和更新语句逐步分析 MySQL 是如何进行事务的多版本并发控制的。我们以一个问题开始我们的讨论吧

2025-06-13 16:08:13 5537 2

原创 除了Cookie会话跟踪技术,你还知道其他的会话跟踪技术吗?会话技术的方案对比

除了Cookie会话跟踪技术,你还知道其他的会话跟踪技术吗?会话技术的方案对比

2025-06-10 18:12:02 5176 1

原创 今天被人问GC的相关知识,索性整理了一下到目前常用的一些垃圾回收器,从垃圾回收的机制到垃圾回收器的实现

今天被人问GC的相关知识,索性整理了一下到目前常用的一些垃圾回收器,从垃圾回收的机制到垃圾回收器的实现

2025-06-08 21:09:18 8463 1

原创 什么是MySQL的索引覆盖和索引下推?

什么是MySQL的索引覆盖和索引下推?

2025-06-08 13:13:27 4966

原创 结合源码分析Redis的内存回收和内存淘汰机制,LRU和LFU是如何进行计算的?

结合源码分析Redis的内存回收和内存淘汰机制,LRU和LFU是如何进行计算的?

2025-06-01 13:46:28 5207

原创 Redis 网络模型流程分析,结果图和源码深入理解Redis的网络模型

Redis 网络模型流程分析,结果图和源码深入理解Redis的网络模型

2025-05-30 14:54:58 3161

原创 今天花了三个小时,带你彻底理解 IO多路复用中,epoll模式中通知的触发方式以及线程的阻塞和非阻塞选择

今天花了三个小时,带你彻底理解 IO多路复用中,epoll模式中通知的触发方式以及线程的阻塞和非阻塞选择

2025-05-29 22:00:06 4926 2

原创 学习完多级缓存之后的总结,覆盖了Redis集群,OpenResty,Nginx本地缓存,Caffeine,Canal

学习完多级缓存之后的总结,覆盖了Redis集群,OpenResty,Nginx本地缓存,Caffeine,Canal

2025-05-26 10:30:00 1035

原创 Linux系统是如何访问到本机Windows系统中的Tomcat服务的?

Linux系统是如何访问到本机Windows系统中的Tomcat服务的?

2025-05-25 16:30:00 371

原创 学完JUC之后,一起来整理一下MySQL锁的知识,梳理MySQL各种级别的锁:全局锁,表锁,行锁。Record Lock,Gap Lock,Next-Key Lock的加锁机制

学完JUC之后,一起来整理一下MySQL锁的知识,梳理MySQL各种级别的锁:全局锁,表锁,行锁。Record Lock,Gap Lock,Next-Key Lock的加锁机制

2025-05-24 19:15:11 2664

原创 JUC原理讲解 --《volatile原理》《Happens-before规则》volatile如何实现遍历的可见性,以及有序性的?

深度解析volatile关键字的原理,进一步理解happens-before规则

2025-05-12 14:26:17 925

原创 一篇文章搞懂 synchronized 原理,了解Java各种锁的级别!

synchronized原理,Java锁的原理

2025-05-09 15:34:11 759 1

原创 一篇文章搞懂Spring mvc底层原理,DispatcherServlet如何运作的?

自定义参数解析器参数解析器需要实现 HandlerMethod接口,完成 supportsParameter(检查是否支持某个参数),resolveArgument(获取参数的值)两个方法将实现的类加入到 HandlerAdapter 中( HandlerAdapter提供setCustomArgumentResolvers)看是否支持某种参数(supportsParameter 方法)获取参数的值(resolveArgument 方法)自定义返回值处理器。

2025-05-08 13:52:07 1128 2

原创 浅谈Java的AOP实现

一篇文章带你了解整个AOP的实现,并动手模拟每种实现,了解AOP的底层原理

2025-04-29 14:09:47 1196 2

原创 浅谈Spring的容器与Bean

ApplicationContext 接口,是 BeanFactory 的子接口。可以看到,我们课上讲的,都是 BeanFactory 提供的基本功能,ApplicationContext 中的扩展功能都没有用到。

2025-04-23 19:15:12 749

原创 浅谈Spring容器

浅谈Spring容器

2025-04-23 18:02:01 736

原创 彻底理解力扣《组合总和II》题目,深刻理解如何去重!

彻底理解力扣《组合总和II》题目,深刻理解如何去重!给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

2025-04-13 19:25:21 672

原创 删除lastUpadted结尾的文件

Maven下载jar包一直失败,或者下载的jar不完整或者有错

2025-02-25 15:12:36 304

原创 search_after

如何理解elasticsearch的search after方案解决深度分页?

2025-02-20 21:25:52 770

原创 CentOS 7 yum 命令无法找到所需的元数据文件无法使用解决方法

CentOS 7 yum 命令无法找到所需的元数据文件无法使用(Cannot find a valid baseurl for repo: base/7/x86_64)解决方法

2024-12-05 18:50:55 682 1

原创 SQL的执行顺序

Mysql中DQL的查询顺序(selecet语句的特殊处理)

2024-10-29 17:46:40 435

原创 maven报错

在IntelliJ IDEA中构建maven项目的时,出现了报错:ArchetypeDataSourceException

2024-10-29 14:29:43 4048

原创 【Java笔记分享】跟着黑马的阿伟老师学习Java两个半月以来的心得

【Java笔记分享】跟着黑马的阿伟老师学习Java两个半月以来的心得

2024-10-21 16:25:37 817 1

原创 Java中的logback日志使用步骤以及使用注意点

Java中的logback日志使用步骤以及使用注意点

2024-10-21 16:07:02 542

原创 PyCharm连接git时报错: “fatal: unable to access ‘链接‘: schannel: SEC_E_UN“

fatal: unable to access '远程仓库链接': schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - ֤▒▒▒▒▒▒▒ɲ▒▒▒▒▒▒εİ䷢▒▒▒▒▒䷢▒ġ▒。这个错误通常与 Git 在 Windows 上的 SSL/TLS 设置有关,我们只需要关闭SSL认证即可完美解决该问题。再PyCharm的终端中设置gitbash路径,输入bash路径之后就可以在终端中运行git指令。找到项目的根路径或者在PyCharm的终端中输入,打开。

2024-09-20 10:06:31 2088 1

原创 SQL优化 -- limit优化

尽管查询使用了索引(),但默认情况下,LIMIT子句不会保证结果的顺序。要确保结果按id排序,必须显式地使用子句。

2024-07-11 16:29:45 908

原创 利用requests库爬取Ajax数据

④ 最后整合思路:利用Request URL的规律构造最终url --> 采取get请求并且添加Accpet为json类型(因为我们想获取的数据就是一个json字典) --> 利用字典的方法提取数据即可 --> 保存数据至MySql数据库中。① 我们继续分析响应,发现返回内容是application/json, text/plain, */*,但是我们只需要筛选出来的xhr类型,也就是json文件内容。所以请求头我们需要设置Accept。可以发现,该xhr文件是一个data字典,里面包含了此次的目标内容。

2024-06-29 18:10:55 925

原创 Mysql中DQL的查询顺序

GROUP BY 子句能够使用SELECT子句中定义的别名,是因为SQL数据库引擎在内部对查询的执行过程进行了优化。大家都发现了一个很奇怪的现象,按照前面讲述的执行顺序,这条SQL语句应该报语法错误啊,因为group by是在select之前执行的呀,怎么能提前“预知”别名,似乎有点解释不通了。3、经过试验,我发现having子句是在select子句后运行的,也就是说having是拿着select后的虚拟表过滤的。name varchar(50) not null comment '姓名',

2024-06-25 16:37:39 480 1

logback的jar包

logback的jar包

2024-10-21

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

TA关注的人

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