自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dsydly的博客

一点一滴积累,一步一步前进

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

原创 数据库中容易混淆的关键字alter/update...

总结:DROP = 删除表(结构+数据) DELETE = 删除数据(保留结构,支持条件) TRUNCATE = 清空数据(保留结构,重置ID)是 DML(Data Manipulation Language,数据操作语言)命令,用于。是 DDL(Data Definition Language,数据定义语言)命令,用于。(表、数据库、视图、索引等),包括结构和数据。UPDATE(修改表数据)常见操作。,保留表结构,重置自增ID。truncate常见操作。delete常见操作。

2025-12-04 14:19:49 771

原创 服务RejectedExecutionException问题对Semaphore的思考

服务拒绝报错时,以为是服务负载太大导致,查看cpu和gc情况,并没有异常,定位到方法后,让AI分析方法中存在的异常,存在严重的信号量泄漏问题。

2025-10-29 19:32:21 798

原创 多页面localStorage覆盖问题

1.背景。

2025-09-26 20:03:09 489

原创 Spring-AI项目中参数配置

在 Spring AI 框架中,advisors 参数是一个强大的增强机制,允许您在大模型调用过程中添加额外的处理逻辑和上下文信息。它的设计灵感来自于 Spring AOP(面向切面编程)的概念,允许在不修改核心代码的情况下扩展功能。:1 - 模型上限(如 GPT-4 为 8192,DeepSeek 可能有不同限制)第二种情况:ChatClient Bean 定义中设置默认模型。:0.0 - 2.0(通常不超过 1.0)第一种情况:代码中指定了模型。Advisors 的作用。

2025-09-24 11:36:42 884

原创 Spring-AI简单实践

该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并非这些项目的直接移植,该项目的成立基于这样的信念:下一波生成式 AI 应用将不仅面向 Python 开发人员,还将遍及多种编程语言。,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,各大公司在Spring-AI的基础上都有一套快速开发AI应用的框架。3.2 Spring-AI Ailibaba创建会话。

2025-09-23 21:14:46 618

原创 Redis框架详解

比如哨兵B和C判定主节点“主观下线”(即自身认为主节点可能下线)后,会相互询问对方是否也认为主节点下线,哨兵C表示认同,而哨兵A则判定主节点在线且不认同其他哨兵的观点。为了减少一个哨兵节点对主服务器判断的失误,所以,为了减少误判的情况,哨兵在部署的时候不会只部署一个节点,而是用多个节点部署成哨兵集群(最少需要三台机器来部署哨兵集群),通过多个哨兵节点一起判断,就可以就可以避免单个哨兵因为自身网络状况不好,而误判主节点下线的情况。有序集合类型:元素依然是唯一的,不允许重复,但是每个元素是有顺序的。

2025-09-14 22:10:34 1124

原创 算法题2:动态规划

基本步骤定义状态明确问题的状态表示(例如dp[i]或dp[i][j]的含义)。状态转移方程描述如何从子问题的解推导出当前问题的解(递推关系)。初始化边界条件设置初始状态的值(如dp[0] = 0计算顺序确定填表顺序(自底向上或自顶向下)。返回结果从状态表中提取最终解。

2025-09-03 21:10:51 499

原创 本地部署DeepSeek实战

最近想通过Spring-AI来整个大模型的应用,调用其它公司的大模型平台都需要申请API Key、Secret Key,模型调用都需要按调用次数/Token 收费,有个别平台有免费试用期和免费额度。如果想免费调用大模型,最好是自己本地部署运行开源模型,减少资金消耗。

2025-08-22 20:37:27 793

原创 用例完备性1:用例模板

除了参考需求文档和技术方案文档之外,很多人是根据经验,采用探索式方法发现更多的用例,其实对于测试人员来说,负责的业务迭代特点和迭代方向都比较固定,用例有一部分功能是可以固化形成模板。例如我自己负责的业务方向是搜索引擎,业务特点是高并发低延迟,迭代方向主要是增加入口流量、增加供给、提高转化率。服务端的用例比较相似,所以根据以往的用例设计总结出一套用例模板。如何保障需求测试前写的用例是完善的,无遗漏的?只有这样,才能在有限的测试资源下,最大限度地降低软件上线后的质量风险。

2025-08-21 20:27:53 306

原创 算法题1:前缀和解法

对数据计算前缀和过程中,可以将前缀和放入Map中,Map的key存储前缀和,value存储前缀和的个数,Map中找到sum[j]-goal的值时,value个数则代表满足条件的子数据个数。前缀和:是一种常用的预处理技术,它可以在O(1)时间内快速计算数组任意区间的和。在Java中,可以通过创建一个新的数组来存储前缀和,然后利用该数组快速获取任意区间元素的和。根据和找子数组,只需要计算出每个数组对应位置的前缀和,如果sum[j]-sum[i]==goal,那么从i到j之间的数组就是满足条件的。

2025-08-14 14:58:40 502

原创 美团NoCode-零代码应用生成平台使用

NoCode-零代码应用生成平台平台功能:NoCode 是一款无需编程背景和经验,通过自然语言和对话形式,即可快速生成应用的平台。可帮助不同角色以"零代码"的方式创建个人提效工具、产品原型、可交互页面等,降低开发门槛,实现创意释放。核心能力包括“对话即成页面”、“精准定位修改”、“打通内部系统”和“一键部署分享”。

2025-08-11 20:58:03 467

原创 MCP学习与实践

MCP的全称是Model Context Protocol,即「模型上下文协议」,目的是为LLM提供标准化的上下文信息传递方式,从而实现AI智能体与外部数据及工具的结合。是Anthropic推出的AI万能插座。标准化AI模型接入协议,通过自然语言描述工具调用逻辑,实现模型与外部数据/工具的交互。

2025-08-10 23:47:38 1082

原创 MySQL语句优化案例

IN条件查询与分页查询,慢查询治理

2025-07-16 16:58:34 286

原创 一文明白AI、AIGC、LLM、GPT、Agent、workFlow、MCP、RAG概念与关系

引言:AI、大语言模型(LLM)、Agent、MCP、RAG等各种概念层出不穷,若不深入了解,记忆混淆,本文会详细讲解这些概念和它们之间的关系。

2025-07-14 20:50:58 1701

原创 高效能人士的七个习惯读后感

高效率办事的七个习惯

2025-07-10 13:22:55 1014

原创 Mysql中的日志-undo/redo/binlog详解

在缓存一致性的方法中,有一种是用binlog同步消息,完成缓存的同步,提高了可靠性。这里详细学习一下数据库中的三种日志。

2025-07-09 21:29:15 858

原创 如何实现div鼠标拖拽改变宽高

可以通过鼠标拖拽来改变两个编辑框的高度和宽度,同时两个框的大小需要能联动变化,两个编辑框的高度一致,宽度总和不变。入参与出参两个编辑框都是固定的,用户反馈不够灵活,希望能像postman一样可以调整宽度和高度。最近做了一个接口调用工具,request与response分别占用两个编辑框,如下图。

2025-07-04 13:20:04 464

原创 请求实体超出服务器限制导致post方法报413

413的实际解决方案

2025-07-03 11:18:55 1538

原创 Java中创建线程方法以及线程池参数配置

线程创建的方式与线程池

2025-07-02 21:12:57 829

原创 慢查询引发对mysql索引的探索

讲解了几种索引的结构,索引优化的方法

2025-06-30 20:23:34 797

原创 高并发场景下的服务保护措施--限流机制

接口限流的方式

2025-06-25 20:52:00 981

原创 一个慢查询带来的思考-mysql的索引

背景:负责的项目中慢查询数量报警,通过数据库分析诊断平台可以看出有一条sql命令满查询数量超过阈值,是一个分页查询,需要查询某个范围内的数据,使用limit,深度分页导致慢查询。分析:这条查询语句一直都没有问题,最近突然有问题,发现最近几次使用的数据集合都是很大的,导致每次分页limit偏移量较大,平均查询时间>2s。explain分析执行计划,使用了非唯一索引。即使有索引,索引只能加速定位,但无法直接“跳转到第 N 条”(因为索引存储的是键值,而不是行号)。

2025-06-23 20:27:30 785

原创 常见Lambda表达式使用方法

平时写代码时会用到Lambda表达式,有些会在代码提示下,真正记下来的比较少,本文对常用的Lambda表达式进行汇总。Lambda表达式是什么?是一种在编程语言中用于创建匿名函数的简洁语法结构。它允许你快速定义一个小型的、一次性使用的函数,而无需显式命名或定义完整的函数结构。(即只有一个抽象方法的接口,如RunnableComparator。

2025-06-21 18:05:41 400

原创 关于数字证书、CA、数字签名关系与作用

主要讲解了https中的证书的相关信息,证书是什么?如何验证证书?证书的作用

2025-06-20 10:16:34 1004

原创 vue中父子组件传值常用方法

前端工程中多次使用父子组件,对于父子组件之间的传值整理一下,不过常用的方式就两种,详细的讲解一下。

2025-06-17 10:37:35 1530

原创 Java中hashCode方法与equal方法何时重写

总结了hashCode方法与equals方法重写的情况

2025-06-15 23:19:56 863

原创 JavaScript中声明变量的关键字const/let/var区别

const、let、var区别

2025-06-12 15:29:32 340

原创 测试七诫·质量经

《高效测试工作法则》摘要:测试工作需遵循"找、规、量力"三原则,强调需求明确(要求PRD文档化)、流程规范(降低80%风险)和质量优先(质量是1效率是0)。建议善用技术(自动化率提升10%可降7%缺陷逃逸率)、建立检查清单、明确责任边界。核心要义是:明规则、守底线、巧用技、重积累,在保证质量根基的前提下提升效率。

2025-05-27 10:59:29 173

原创 vue中常见知识点区别

1、import与@importscript标签 中的import是js的语法, 是在js中去引用css文件。style标签 中的@import是 stylus的语法,是在css中引用css文件。2、export、export default与importexport和export default都属于导出的意思,可以在别的文件或模块中通过import将其导入,从而可以对其使用。export可以使import一次导入多个;export default只能单独导入一个。区别:一个模块只能有

2021-07-11 14:57:35 440 1

原创 认识APM、javaagent、hadoop

一、基本概念1 APM:1.1简介:APM (应用性能管理) - Application Performance Management & Monitoring在信息科学和系统控制领域,APM致力于监控和管理应用软件性能和可用性。通过监测和诊断复杂应用程序的性能问题,来保证软件应用程序的良好运行(预期的服务)1.2 APM核心功能APM被形象的称为应用程序的私人医生,越来越收到青睐,比起通过日志方式记录关键数据显然要更加实用,APM主要包含如下核心功能:1.应用系统存活检测2...

2020-11-21 13:21:52 549

原创 tair基本原理

一、简介Tair是一个高性能、分布式、可扩展、高可靠的Key-Value nosql结构存储系统,专注于高速缓存场景二、基本概念1、configID唯一标识一个tair集群,每个集群都有一个对应的configID,在当前的大部分应用情况下configID是存放在diamond中的,对应了该集群的configserver地址和groupname。业务在初始化tairclient的时候需要配置此ConfigID2、Namespace(area)是tair中分配给应用的一个内存或者持久化.

2020-11-08 21:41:32 1322

原创 Junit中使用线程池不执行任务代码

1、在test中使用线程池发送MQ,没有报错,没有执行线程池中的代码。2、查资料,junit框架只要主线程结束完成,单元测试就会关闭,导致线程池中的线程没有执行代码就被销毁关闭了,可以在主线程中sleep一段时间,或者用main方法。...

2020-06-28 15:16:14 1362 1

原创 Java定时任务cron表达式

1、完整的cron表达式:由7位以空格分隔的时间元素组成,从左到右分别为:秒、分、时、日期、月份、星期几、年份。

2020-06-27 21:15:22 1953

原创 JVM分区与堆对象分配

一、JVM分区1、java堆(线程共享)Java堆是被所有线程共享的一块区域,它也是Java虚拟机管理的内存中最大的一块,它在虚拟机启动时创建;Java堆唯一的目的就是存放对象实例,几乎所有的对象实例的都在这里分配内存;Java堆是垃圾收集器管理的主要区域,因此很多时候也被称为GC堆;Java堆可以处于物理上不连续的内存空间中,只要逻辑上连续即可,在实现时既可以是固定大小也可以是可扩展的,如果堆中没有内存完成实例分配,并且堆也无法再扩展时,将会抛出OutOfMemory异常;2、方法区(

2020-06-22 10:52:14 529

原创 比较器Comparable与Comparator区别

1、Comparable是可比较的,是修饰类的,类实现该接口中的方法compareTo(),即该类是可比较的,有顺序的。在该类可以和自己比较。2、Comparator是比较器,是一个比较工具方法,可以直接继承该接口实现compare()方法,compare方法可以两个对象进行对比。如果是第一种方法的话,可以直接用Collections.sort(List)方法,这里sort默认的排序就是类中实现的comparaTo()方法中的逻辑。如果是第二种方法的话,直接实现接口方法,如下:此时Collect

2020-06-22 08:16:38 467

原创 postman的使用与环境变量设置

1、postman批量顺序执行一批请求方式首先创建一个Collections,将请求保存到该Collections中,在Collections,点击run,可以导入文件,将某些字段参数化成功的绿色,失败的是红色,成功失败的个数是断言的成功与失败,我没有设置断言,所以都是0。2、设置环境变量新增环境,并添加一个环境变量token值,这样在这个环境中的请求就可以用{{token}}获取该环境变量需要对该环境变量赋值,获取token的接口中对结果进行处理,获

2020-06-16 15:33:12 589

原创 lambda表达式与常用方法

1、什么是lambda,是java8新的特性,是一个匿名函数,可以非常简洁的实现接口。 lambda对接口的要求:接口里面的抽象方法只能够存在一个,或者被@FunctionalInterface修饰接口,或者接口中有一个抽象方法,其他的都是dafault或者静态方法。2、Lambda定义的三个语法: ...

2020-06-14 11:05:19 1762

原创 Java异常与throw与throws及注意事项

一、基础知识1、处理异常,java提供了一个优秀的解决方案:异常处理机制。java把异常当作对象来处理,所有的异常都是由Throwable继承而来,但在下一层立即分解为两个分支:Error和Exception2、Error类:这类异常由java虚拟机生成并抛出,大多数错误与代码编写者无关,不能被程序员通过代码来处理。发生这种异常时,java虚拟机一般会选择关闭线程。Error异常很少出现,所以我们更应该关注Exception分支下异常。Exception类:这类异常通常可以被程序处理,也

2020-06-14 10:38:42 561

原创 IDEA中强大的debug功能

1、基本用法1)Show Execution Point(+F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。 2)Step Over(F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。 3)Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一...

2020-06-14 09:30:20 343

原创 正则表达式知识与使用

一、元字符1)".",点用于匹配除换行符意外的任意字符2)"w",匹配字母或数字或下划线或汉字3)"s",匹配任意空白符4)"d",匹配数字5)"",匹配单词的开始或结束6)"^",匹配字符串的开始7)"$",匹配字符串的结束二、重复限定符(量词)1)"*",重复零次或更多次2)"+",重复一次或更多次3)"?",重复零次或一次4)"{n}",重复n次5)"{...

2020-06-14 09:19:58 210

空空如也

空空如也

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

TA关注的人

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