自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ核心概念与快速实战指南

RocketMQ是一款高性能分布式消息中间件,具有异步、解耦和削峰三大核心价值。本文首先介绍了MQ的基本概念及主流产品对比,重点解析了RocketMQ的金融级可靠性特点。文章提供了快速实践指南,包括单机部署、消息收发示例代码和可视化控制台搭建方法,并深入讲解了2m-2s主从集群和DLedger高可用集群的配置方案。最后通过架构图展示了RocketMQ的核心组件关系,对比分析了其与Kafka在Topic支持、数据安全和选举机制等方面的关键差异,特别强调了RocketMQ采用Raft协议解决脑裂问题的优势。全文

2025-07-18 16:59:15 869

原创 Redis7 底层数据结构解析

本文深入解析Redis 7.2.5底层数据结构实现机制,重点介绍各数据类型编码方式及优化策略。核心内容包括:String类型采用int/embstr/raw编码和SDS动态字符串;Hash类型在Redis 7中改用listpack替代ziplist;List类型采用quicklist+listpack复合结构;Set和Zset类型根据条件选择intset/listpack或hashtable/skiplist编码。

2025-07-17 23:39:56 552

原创 多级缓存架构与热点探测系统核心技术解析

本文系统解析了多级缓存架构与热点探测核心技术。多级缓存通过本地+远程缓存组合,在电商热点商品等高频访问场景中提升性能,但需解决数据一致性问题。热点探测系统采用五步流程(规则配置→数据上报→集中统计→热点推送→本地缓存),结合滑动窗口算法实时识别热Key。文章详细介绍了京东JDHotkey系统的秒级响应、分层探测等实践,并提出了自定义规则、多维统计等二次开发方向。该技术能有效应对万级QPS突发流量,保障618大促等高并发场景的服务稳定性。

2025-07-16 16:51:20 806

原创 Redis Stack扩展功能

Redis Stack是Redis官方扩展套件,提供JSON处理、搜索、过滤等高级功能。核心模块包括:RedisJSON实现高效JSON存储与查询,支持二进制存储和树状访问;RedisSearch提供类ElasticSearch的全文检索能力;Bloom/Cuckoo过滤器实现海量数据高效存在性检测,后者支持删除操作。部署时需要加载.so模块文件并配置权限,生产环境建议使用Redis Cloud托管服务。扩展功能通过Lua脚本调用,需注意客户端兼容性和资源消耗问题(每个模块增加15-30MB内存)。

2025-07-16 00:16:41 441

原创 Redis缓存设计与性能优化指南

本文系统介绍了Redis缓存设计与性能优化的核心要点。针对缓存穿透问题,提出空对象缓存和布隆过滤器解决方案;对于缓存击穿和雪崩,给出分散过期时间和高可用架构等策略。重点分析了热点Key重建、双写一致性等典型场景的优化方法,并详细阐述了键值设计规范、命令使用禁忌、连接池配置、内存淘汰策略等关键技术细节。最后强调通过慢查询监控完善运维体系,全面保障Redis缓存的高性能和稳定性。

2025-07-13 23:49:19 848

原创 Redis命令参考手册

【代码】Redis命令参考手册。

2025-07-11 17:27:41 302

原创 一篇文章带你理解MySQL事务隔离级别与锁机制

锁定索引记录间的间隙,防止幻读。如锁定(3,10)区间时,无法在id=3到10之间插入数据。行锁+间隙锁组合,锁定记录及前面的间隙。当SQL未使用索引时,行锁会升级为表锁。

2025-07-11 15:43:00 217

原创 Redis数据安全性分析

方案适用场景数据安全保障单机持久化开发/测试环境RDB快照 + AOF日志主从复制读多写少业务多副本备份哨兵集群高可用要求场景自动故障转移大数据量+高并发+高可用数据分片 + 多副本 + 自动Failover企业级建议生产环境至少使用哨兵+主从架构KEYSFLUSHALL定期备份RDB到异地本文内容源自Redis进阶课程技术文档,核心原理经实践验证。

2025-07-10 22:02:29 782

原创 Redis线程模型

组件线程模型说明客户端连接多线程通过io-threads配置核心命令执行单线程避免并发问题持久化/AOF重写多线程后台子进程执行集群数据同步多线程异步复制设计哲学:在保持简单性的前提下渐进式引入多线程,核心路径仍以单线程为主保障原子性。

2025-07-09 20:23:32 861

原创 Redis基础数据结构

通过合理选择数据结构,可提升性能30%~50%!✅ 节省内存空间(相比多个String)❌ 不支持field级别过期。❌ 集群环境下慎用大Hash。✅ 同类数据聚合存储。

2025-07-08 16:34:14 243

原创 Redis7.X部署全指南

【代码】Redis7.X部署全指南。

2025-07-08 16:32:01 222

原创 Mysql8.0高可用集群架构实战

官方文档:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-innodb-cluster.html。

2025-07-07 23:35:32 308 1

原创 MySQL 8.0 主从复制原理分析与实战

MySQL复制(Replication)是官方提供的主从同步方案,用于将一个MySQL实例数据同步到其他实例,是最广泛使用的容灾方案。

2025-07-06 15:43:53 952

原创 MySQL全局优化与Mysql 8.0新增特性详解

优先优化方向:聚焦SQL及索引优化,成本低效果显著8.0升级建议建议使用8.0.17及以上版本注意group by默认排序行为变更充分利用降序索引、函数索引等新特性生产环境配置合理设置连接数及内存参数监控缓冲池命中率不低于99%专用服务器启用innodb_dedicated_server参数。

2025-07-04 16:51:21 899

原创 Innodb底层原理与Mysq旧志机制深入剖析

通过深入理解MySQL的架构设计和日志机制,可以更好地进行数据库调优、故障排查和数据恢复工作。

2025-07-04 01:27:30 229

原创 Mysql锁机制与优化实践以及MVCC底层原理剖析

锁是协调多进程/线程并发访问资源的机制,用于解决数据库并发访问中的数据一致性问题。

2025-07-03 19:09:56 461

原创 一篇文章带你理解MySQL事务隔离级别与锁机制

锁定索引记录间的间隙,防止幻读。如锁定(3,10)区间时,无法在id=3到10之间插入数据。行锁+间隙锁组合,锁定记录及前面的间隙。当SQL未使用索引时,行锁会升级为表锁。

2025-07-01 22:13:04 373

原创 Mysql索引优化实战二

这种写法会先读取10010条记录,然后抛弃前10000条,效率低下。

2025-06-30 18:50:30 275

原创 MySQL索引优化实战总结

这种情况只会走name字段索引,因为根据name字段过滤完,得到的索引行里的age和position是无序的,无法很好的利用索引。在MySQL5.6之前的版本,这个查询只能在联合索引里匹配到名字是’LiLei’开头的索引,然后拿这些索引对应的主键逐个回表,到主键索引上找出相应的记录,再比对age和position这两个字段的值是否符合。MySQL 5.6优化:可以在索引遍历过程中,对索引中包含的所有字段先做判断,过滤掉不符合条件的记录之后再回表,可以有效的减少回表次数。注意索引下推会减少回表次数。

2025-06-29 15:38:05 542

原创 一篇文章带你了解Explain详解与索引

Explain 是 MySQL 中一个非常重要的工具,它可以帮助我们模拟优化器执行 SQL 语句,从而分析查询语句或结构的性能瓶颈。在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条 SQL。不过需要注意的是,如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中。

2025-06-28 20:22:52 566

原创 一篇文章带你深入理解Mysql索引底层数据结构与算法

B树是多路平衡查找树,其所有叶子节点都处于同一层。对于m阶B树,每个节点最多有m个子节点,最少有m/2个子节点。B树的检索过程相当于对范围内的每个节点的关键字做二分查找,可能还没有到达叶子节点,检索就结束了。B-Tree• 叶节点具有相同的深度,叶节点的指针为空• 所有索引元素不重复• 节点中的数据索引从左到右递增排列:B+树是B树的一种变体,是目前大部分数据库系统及文件系统采用的索引结构。

2025-06-27 17:26:09 830

原创 一篇文章带你理解Mysql架构

MySQL查询执行流程涉及客户端连接、Server层和存储引擎层的协作。Server层包含连接器、分析器、优化器和执行器等模块,负责SQL解析、优化和执行,而存储引擎层(如InnoDB)处理数据存储与检索。更新语句还需通过redo log(物理日志,保证crash-safe)和binlog(逻辑日志,用于归档)记录变更,采用两阶段提交确保数据一致性。分析器进行词法语法检查,优化器选择最佳执行计划,执行器调用引擎接口完成操作。通过WAL技术,先写日志再写磁盘,提升性能并保障事务安全。

2025-06-27 17:17:52 904

原创 一篇文章带你了解MyBatis

MyBatis 是一个灵活且强大的持久层框架,它通过 XML 或注解的方式将 SQL 语句与 Java 对象进行映射,简化了 JDBC 的开发。MyBatis 不仅可以独立使用,还可以轻松集成到 Spring Boot 等框架中,实现高效的数据库操作。通过本文的介绍,你已经掌握了 MyBatis 的基本使用方法以及与 Spring Boot 的集成方式,希望这些知识能帮助你在实际开发中快速上手,构建高效、灵活的持久层解决方案。

2025-02-21 10:26:00 394

原创 一篇文章带你了解Vue

Spring Boot 是由 Pivotal 团队在 2014 年推出的一个开源框架,旨在简化 Spring 应用的初始搭建和开发过程。它基于“约定大于配置”的原则,减少了开发者的配置工作量,使得开发者能够更加专注于业务逻辑的实现。Vue.js 是一套用于构建用户界面的渐进式 JavaScript 框架。它易于上手,同时具备高效的数据绑定和组件化开发能力。Spring Boot 和 Vue.js 是现代 Web 开发中非常流行的后端和前端框架。

2025-02-21 10:21:00 1503 1

原创 一篇文章带你了解Spring boot框架

Spring Boot 是基于 Spring Framework 的一个开源 Java 基于 Spring 框架的快速开发框架,由 Pivotal 团队开发。它旨在简化 Spring 应用的初始搭建以及开发过程。Spring Boot 的核心目标是让开发者能够快速上手,减少配置,快速启动和运行一个基于 Spring 的应用。

2025-02-21 10:16:40 8399

原创 一篇文章教你Java文件加密

Java FileEncryption是指使用Java编程语言对文件进行加密和解密的过程。

2024-08-12 16:25:56 2309

原创 一篇文章教你Java的JDBC实现增删查改

利用Java的JDBC完成一个简单的具有增删查改功能的程序。

2024-08-11 16:31:31 428

原创 一篇文章带你学习JDBC(Java Database Connectivity)

JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,它提供了一套标准的API,使得Java程序可以通过这些API与数据库进行交互,执行SQL语句,实现对数据的增删改查等操作.

2024-08-11 15:04:45 2713 3

原创 一篇文章教会你Java的IO文件

【代码】一篇文章教会你Java的IO文件。

2024-05-03 22:02:00 882 1

原创 一篇文章带你学会Java多态

转型:Java中的转型(Casting)和多态(Polymorphism)是密切相关的概念。转型是将一个对象从一种类型转换为另一种类型的过程,而多态则是允许一个对象具有多种形态的特性。在Java中,多态主要通过继承和接口实现,而转型则是实现多态的一种手段。Java中的转型和多态是密切相关的。多态允许我们将子类对象当作父类对象来使用,而转型则是在运行时将父类对象转换为子类对象的过程。例如:一个运动员可以分为篮球运动员和足球运动员,在篮球运动员的情况下,工作就是打篮球。在足球运动员的情况下,工作就是踢足球。

2024-04-07 15:55:33 867

原创 一篇文章教会你Java构造方法与继承

在这篇文章我们会学习到Java的构造方法与继承。

2024-03-31 15:20:25 979 1

原创 一篇文章带你学会Java封装

Java的封装是一种面向对象编程的特性,它指的是将数据和方法(行为)捆绑在一起,以实现对数据的访问控制和保护。在Java中,封装通过访问修饰符(public、private、protected)来实现。通过封装,Java类可以隐藏其内部实现细节,只暴露必要的接口给外部使用,从而提高了代码的安全性和可维护性。

2024-03-31 13:31:50 1020 1

原创 一篇文章教你实现数据管理系统

通过以上学习一个数据管理系统如何编写。

2024-03-26 20:58:22 504

原创 一篇文章教会你Java类与对象

类是一个模板,它描述一类对象的行为和状态。具有相同的属性、特征、行为、功能 ,就可以作为同一个类。对象是生活中具体的事物。

2024-03-22 11:45:58 310 1

原创 一篇文章教你用记事本写Java程序

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所使用到的信息。编译:计算机需要执行的是 机器码指令(0/1组成),编译就是内置的编译器,将 我们写的代码编译成一份机器/虚拟机可以直接执行的指令集,其中Java代码文件编译之后得 到是字节码文件 .class后缀。先找到JDK安装的bin目录并复制:C:\Program Files\Java\jdk-17\bin。1:在cmd 中,使用 cd 指令将目录切换到代码所在的目录。运行编译好的代码文件: java 主类(有主函数的类)

2024-03-20 14:35:24 538 1

原创 一篇文章带你了解各类编程语言

编程语言是一种用于定义计算机程序的形式语言。它由一组规则和符号组成,用于编写计算机程序的指令和结构。编程语言允许程序员以一种结构化的方式编写代码,以便计算机能够理解和执行。不同的编程语言具有不同的语法和语义,适用于不同类型的应用和问题解决方案。编程语言可以用于开发各种类型的软件,包括应用程序、网站、游戏、操作系统等。

2024-03-16 15:32:15 864 1

原创 简单的界面开发

在登录界面,我们会有需要注册账号的情况,这样就需要我们使用动作监听器, 完成按钮的注册监听后 ,点击此按钮 就会调用loginAction的actionPerformed()方法。注解:在一个类中使用其他包中的类时(自己创建的其他包 源码包),都需要导入这个类所在的 包路径。(2)创建一个窗体类对象 设置属性:(标题 尺寸 关闭方式 位置 可视化)(3)创建窗体需要的小组件对象: (按钮 输入框 标签)(1) 创建一个新的类 LoginAction。(1)创建一个类 如:LoginUI;

2023-11-19 20:27:35 278 1

原创 PK游戏引出的继承问题

PK游戏中,人物有不同的属性数值以及不同的技能, 能用以下代码实现简单的PK游戏可是在编写程序的途中我们发现,一个英雄在对不同的英雄释放技能时我们需要对所有不同的对象进行一段代码的编写,这样会导致我们的代码出现大量重复代码,所以我们想到使用继承的方法来进行对代码的修改,以保证我们的代码简单清晰。

2023-11-12 16:20:27 107 2

空空如也

空空如也

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

TA关注的人

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