- 博客(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
原创 【k8s】配置文件上传命名空间不存在
Error from server (NotFound): error when creating ".\\XXX-prod.yaml": namespaces "XXX-prod" not found 解决
2022-12-07 08:49:47
2276
原创 【docker】Mac m1 系统使用docker发布镜像
docker构建镜像也要区分当前服务平台与使用镜像的平台架构是否一致,如果一致则正常使用,如果不一致要考虑使用buildx构建不同平台版本问题。
2022-11-11 18:00:00
2671
原创 【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
原创 【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关注的人
RSS订阅