- 博客(22)
- 收藏
- 关注
原创 递归算法优化实战:从栈溢出到高效遍历的完整解决方案
在一个指标管理系统中,指标间的复杂引用关系导致递归查询面临栈溢出风险。本文详细介绍了如何将深度优先递归转换为广度优先迭代,通过队列代替调用栈、批量查询代替单次查询等优化策略,不仅彻底解决了深层递归的稳定性问题,还将数据库查询次数从N次降至⌈N/50⌉次,性能提升数十倍。这是一次从理论到实践的完整算法优化案例,对处理树形结构和依赖关系查询具有重要参考价值。
2025-11-26 09:32:57
946
原创 护理系统analyze接口性能优化(01)
本文对QualityAnalysisController.analyze()接口进行了多阶段优化,最终实现65%以上的性能提升。优化前响应时间为1.3秒,经过SQL查询优化(减少5-6次查询)、代码重复优化(减少50%重复代码)、批量操作优化(20次操作降为3次)及异常处理改进后,响应时间降至300-450毫秒。优化措施包括重构关联查询SQL、提取公共方法、实现批量操作以及完善异常处理机制,显著提升了接口性能和代码质量。
2025-11-24 16:50:34
960
原创 JDBC工具类 + FreeMarker模板:彻底解决动态SQL的安全隐患
本文记录了一个企业级医院护理管理系统从发现严重SQL注入漏洞到完成安全重构的完整过程。原有代码使用${}参数化拼接存在极大安全风险,我们通过设计JDB C工具类和FreeMarker模板引擎,实现了动态SQL的安全生成。文章详细介绍了输入验证、数据类型映射、事务管理、异常处理等关键技术细节,并提供完整的测 试验证方案。此次重构不仅消除了安全风险,更建立了一套可复用的安全编码标准,为团队后续开发提供了重要参考。
2025-11-07 16:51:07
1046
原创 PgSQL函数开发手册:日常查阅与复用指南
PgSQL函数开发摘要 核心语法模板 函数创建包括参数定义、返回类型、语言类型、稳定性关键字 稳定性优化:IMMUTABLE(输入输出唯一)、STABLE(事务内不变)、VOLATILE(结果可变) 权限控制:SECURITY DEFINER(执行者权限)、SECURITY INVOKER(调用者权限) 高频操作场景 标量函数:单值返回,用于计算或转换 表函数:返回多行数据,用于复杂查询 变量声明:DECLARE块定义局部变量 异常处理:BEGIN/EXCEPTION/END结构捕获错误 流程控制要点 条件
2025-09-25 17:34:28
918
原创 初级程序员学 Docker:从命令到部署的基础指南
Docker 容器化部署基础指南 本文介绍了 Docker 的核心概念和基础使用方法,主要内容包括: Docker 的核心优势:通过容器化实现"一次构建,随处运行",解决环境差异问题。 单容器部署三步骤:构建镜像(docker build)、查看镜像(docker images)、运行容器(docker run),并详细解释了各命令参数含义。 Dockerfile 文件编写指南:包含 FROM、RUN、COPY、ENV、WORKDIR、ENTRYPOINT 等核心指令的使用说明和示例。
2025-09-24 23:58:48
924
原创 从 selectBatchIds 切入:MyBatis-Plus 批量查询工具与 Java 集合、泛型的联动学习文档
MyBatis-Plus的selectBatchIds方法通过Collection<? extends Serializable>参数支持多种集合类型输入,并利用泛型T实现类型安全与代码复用。该方法采用面向接口编程思想,通过Collection接口适配List、Set等不同集合类型,同时使用上限通配符确保ID类型可序列化。返回值List<T>与BaseMapper的泛型绑定,自动适配不同实体类,既避免了代码冗余,又保证了编译期类型校验,有效提升开发效率和安全性。这种设计体现了Java
2025-09-16 22:41:40
1069
原创 Redis之持久化
Redis是一款非常好用的键值对数据库,其高性能和灵活性而闻名,它是基于内存的来实现的,所以它有很多优势也伴随着一些缺陷。 如,容量限制:内存并不是无限的,他很小且宝贵;易失:内存一断电就没了,Redis数据也会没有,还有一些安全性问题,而今天我们需要解决的是关于数据易失问题,提出数据持久化来解决。
2024-08-27 09:35:33
572
原创 MyBatis学习笔记---基础知识(一)
Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身。 他有两种实现方式:xml与注解。
2024-08-22 16:30:16
393
原创 关于对Servlet学习(一)
servlet是运行在服务器上的一个小程序,用来处理服务器请求的。通常浏览器发送访问请求,服务器接收请求,并对浏览器的请求作出相应的处理,而servlet就是对请求作出处理的组件。
2024-08-12 09:50:12
426
原创 使用元素 background-image 时遇到图片显示无效的情况
div的特性应该是默认100%的宽和高,我又试了一下。结果还是不行,是有点奇怪的,只能说对元素的理解不够咯!添加了宽和高,结果就可以了。
2024-03-07 09:48:25
1191
原创 日志:学习c语言,数字的排列顺序(如数字123的有几种排列)
文章目录前言一、操作分析二、实例代码1.代码2.读出数据总结前言零基础自学c语言第二天,今天我学习的案例是数字的排列顺序,有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数。 如果就单独的平时数学排列来看,如:123,124,134等,但是用代码生成就没那么简单了,今天就随着我的视角来看看我的学习情况吧!一、操作分析1.第一位是从1开始,通过for循环,然后依次自增12.在第一步的基础上,在进行for循环,确定第二...
2021-08-29 12:31:59
2314
原创 notepad++运行中文乱码日志
最近,小up主在用notepad++学习C语言,在遇到中文编写运行时会出现中文乱码,这就让我感到头疼Σ( ° △ °|||)︴这是神魔恋!解决方法:点击设置>>首选项>>新建,将utf-8换为ANSI,简单理解为GBK编码,之后在新建一个,重新编写或粘贴,此时运行结果就会显示正常的中文了注意:一定要在设置完成后,新建一个,因为设置只会生效在后面操作,之前的代码不会有改变这就是中文运行的结果了:...
2021-08-28 13:38:29
3671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅