自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只调皮可爱的小summy

专注于代码,专注于bug

  • 博客(26)
  • 收藏
  • 关注

原创 【MySQL】关联查询驱动表索引优化

本文分析了数据库关联查询中索引对性能的影响。当订单表通过userid关联用户表时,若orders.userid无索引,MySQL会采用BNL算法进行暴力内存比对,导致性能急剧下降;而添加索引后,MySQL会使用高效的NLJ算法通过索引精准定位。文章详细对比了两种算法的执行机制、时间复杂度和适用场景,指出索引缺失会导致随机I/O问题。特别强调在深分页查询场景下,关联字段索引能显著提升性能。最后建议:关联字段必须加索引以优化查询,并可采用延迟关联等方法进一步优化深分页查询。

2026-05-16 17:18:58 332

原创 【java】AviatorEvaluatorInstance表达式求值

AviatorEvaluatorInstance是Aviator 4.0引入的Java表达式求值引擎核心类,支持创建独立配置的求值器实例。本文介绍了AviatorEvaluatorInstance的基本使用、核心功能和自定义函数开发。主要内容包括:1)创建实例的两种方式;2)执行简单表达式和使用环境变量;3)编译表达式提高性能;4)处理计算精度问题;5)变量赋值功能;6)Lambda匿名函数;7)自定义固定参数和可变参数函数。通过示例代码展示了如何实现高性能、高精度的表达式求值,满足不同业务场景需求。

2026-05-13 10:11:01 280

原创 【java】MapStruct使用

MapStruct是一个高效的Java Bean映射工具,通过编译时代码生成实现高性能对象转换。相比反射方案,它具备类型安全、性能接近手写代码等优势,支持自动字段映射、集合转换和自定义逻辑。使用需引入核心依赖和注解处理器,定义@Mapper接口即可实现对象转换。与MyBatis和Lombok兼容良好,但需注意包隔离和依赖配置。最佳实践包括合理使用@Mapping注解、配置空值策略和避免过度配置。该工具特别适合需要频繁对象转换的Java项目,能显著减少样板代码并提升性能。

2026-05-12 10:40:29 357

原创 【redis】Redis缓存数据恢复:RDB与AOF解析

Redis数据恢复取决于是否开启持久化功能(RDB或AOF)。未开启持久化时数据会永久丢失;若已开启,可通过检查配置文件确认持久化机制(RDB快照或AOF日志)。Redis 4.0+推荐使用混合持久化(RDB+AOF),兼顾恢复速度与数据安全。RDB恢复需加载最新dump.rdb文件,但会丢失最后一次快照后的数据;AOF通过重放命令恢复,但文件较大且恢复较慢,损坏时可用redis-check-aof修复。同时开启时优先使用AOF。建议定期备份、配置主从复制,并合理设置AOF刷盘策略(如everysec)

2026-04-24 15:58:20 374

原创 【windows】命令行快速定位并强制关闭占用端口

本文介绍了如何通过命令行查找并终止占用特定端口的进程。首先使用netstat -ano | findstr :端口号命令查找占用端口的进程ID(PID),然后通过tasklist | findstr PID确认进程名称(可选),最后使用taskkill /F /PID 进程ID强制终止该进程。该方法适用于需要释放被占用端口的情况,操作时建议以管理员身份运行CMD。

2026-04-22 14:01:15 78

原创 【mysql】数据库误删数据与结构操作恢复处理

《MySQL数据恢复实战指南》摘要:本文详细介绍利用binlog日志进行数据恢复的全流程操作。首先验证binlog开启状态,通过mysqlbinlog工具解析特定时间段的日志并生成SQL文件。重点说明如何手动清理DROP/DELETE语句,处理导入时的主键冲突问题(INSERT IGNORE/REPLACE INTO方案)。针对常见错误提供解决方案:权限不足时需提权操作,GTID冲突需添加--skip-gtids参数。最后强调数据恢复最佳实践,包括定期备份、停止写入、严格权限控制等预防性措施。全文配有操作截

2026-04-21 10:53:10 210

原创 【linux】sudo apt 综合解析

sudo apt 是 Debian/Ubuntu 系统中用于管理软件包的核心工具,需配合 sudo 获取管理员权限操作。它支持软件安装、更新、删除等功能,简化了依赖管理和版本控制流程。

2025-05-24 11:49:45 1513

原创 AopContext了解

Spring AOP 中的 AopContext.currentProxy() 方法用于解决同类调用时 AOP 失效的问题。通过获取当前线程的代理对象,确保事务、缓存等切面逻辑在同类方法调用中生效。其实现依赖于 ThreadLocal 存储机制,需显式启用代理暴露功能。常见使用场景包括事务传播控制、缓存注解修复和自定义切面增强。使用时需注意配置要求、代理对象可见性及性能优化,避免在高频调用中频繁使用。替代方案包括方法拆分、自我注入代理对象、编程式 AOP 管理和事件驱动设计,其中方法拆分和事件驱动是推荐的低

2025-05-15 14:19:46 791

原创 ToStringBuilder了解

/ 隐藏类名// 移除哈希码// 起始符号// 结束符号// 字段分隔符// 键值分隔符// 应用自定义样式输出结果:{name:Alice,age:30}

2025-05-14 14:31:05 468

原创 【kafka】消息队列选型对比

‌Kafka‌:副本同步机制(ISR 集合)+ 消息持久化存储(分段日志)‌RabbitMQ‌:ACK 确认机制 + 持久化队列 + 镜像队列冗余。‌ActiveMQ‌:基于 LevelDB 的持久化存储 + 主从复制。‌RocketMQ‌:同步刷盘策略 + 分布式事务(两阶段提交。

2025-05-08 15:40:21 805

原创 Bigdecimal为什么可以保证精度

尽管 BigDecimal 的运算速度比原生类型慢 10-100 倍,但其精度保障机制使其成为金融、税务等领域的强制选择。例如,电商系统中商品金额计算若使用 double 类型,累计误差可能导致分账时出现差额。十进制小数(如 0.1)转换为二进制时会产生无限循环,而 BigDecimal 直接以十进制处理数据,完全规避此问题。,前者直接解析字符串为精确值,后者因 double 类型本身存在精度问题导致初始化即失真。)均返回新对象,避免中间计算过程中的意外修改引发的误差累积。,保证中间结果无精度损失。

2025-04-24 15:25:25 976

原创 【数据库】windows安装多个mysql

电脑安装两个版本Mysql服务

2023-06-18 21:32:34 1457

原创 【设计模式】2、策略模式 Strategy

指的是对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。

2022-12-11 13:05:27 421

原创 【k8s】配置文件上传命名空间不存在

Error from server (NotFound): error when creating ".\\XXX-prod.yaml": namespaces "XXX-prod" not found 解决

2022-12-07 08:49:47 2276

原创 【maven】自建jar包引入

第三方jar包引入到我们的项目中,使用mvn命令:mvn install:install-file 引入

2022-12-07 08:44:13 965

原创 【设计模式】1、单例模式 Singleton

顾名思义,单例模式就是在内存中只能存在一个实例。单例模式有两种机制,一种是懒汉式一种是饿汉式。

2022-11-13 15:41:32 157

原创 【idea错误】open matching files in associated application

idea文件打不开操作

2022-11-11 21:54:42 509

原创 【docker】Mac m1 系统使用docker发布镜像

docker构建镜像也要区分当前服务平台与使用镜像的平台架构是否一致,如果一致则正常使用,如果不一致要考虑使用buildx构建不同平台版本问题。

2022-11-11 18:00:00 2671

原创 【swagger】访问swagger-ui界面正常但是接口不展现

swagger-ui界面正常,接口不能展现

2022-11-11 16:30:00 9026 2

原创 【nacos】com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception

连接nacos检查bootstrap.yml文件的问题,当服务打包到k8s上管理时,配置访问地址也要查看是否存在问题,如果连接不同则会只剩一个端口配置也会出现com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception。

2022-11-10 22:03:13 12143 1

原创 【idea报错】No enum constant org.apache.ibatis.type.JdbcType

mybatis类型和java类型常用对应关系使用。

2022-11-10 21:36:47 4424

原创 【mongodb】mongodb连接报错The connection string contains invalid user information

阅读错误时需要仔细,bug解决方案,其实就隐藏在错误信息中。

2022-11-10 12:41:29 2068

原创 【mongodb】连接报错Prematurely reached end of stream

Prematurely reached end of stream 问题出现,就是未正常连接成功,所以先考虑白名单的问题,测试客户端时候正常连接,如果正常说明云端没有问题,这时在考虑配置问题,是否超时等。

2022-11-10 12:08:30 4234

原创 【k8s】lens安装使用

k8s管理工具lens,Mac系统M1版本安装使用

2022-11-07 09:32:58 6360 1

原创 【docker】Mac M1版本下载安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。其次容器是完全使用沙箱机制,相互之间不会有任何接口。以上就是docker安装的内容,这里只是简单的安装,后面继续深入docker。

2022-11-06 00:28:23 3389 1

原创 【IDEA报错】Failed to start bean ‘documentationPluginsBootstrapper‘问题及解决方案

项目启动时出现问题,很可能是版本不对应,其次也可能是新版本的一些配置做改动。

2022-11-05 10:03:41 3623 4

空空如也

空空如也

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

TA关注的人

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