华如锦
qq:610207151
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JAVA】jvm优化&jvm运行时监控分析
JVM GC监控分析及优化建议 摘要:根据jstat-gcutil监控数据,当前JVM内存状态显示: 新生代Eden区使用率86.84%,Survivor1区满载但10秒内无YoungGC 老年代使用率77.9%偏高但未触发FullGC 元空间使用率高达97.15%,接近容量上限 主要风险点: 元空间接近满载可能触发FullGC 老年代高使用率存在内存溢出风险 优化建议: 排查类加载泄漏问题,清理无用依赖 优化大对象生命周期,避免过早晋升老年代 调整JVM参数:设置元空间最大限制(-XX:MaxMetasp原创 2026-03-24 17:53:21 · 36 阅读 · 0 评论 -
JVM 调优
本文总结了JVM调优的核心参数与实用建议。主要内容包括:1)高频调优参数分类讲解,涵盖堆内存(-Xms/-Xmx/-Xmn)、元空间(MetaspaceSize)、GC收集器(UseG1GC)等核心配置;2)性能监控必备参数,如GC日志打印、OOM自动堆转储;3)需要理解的底层参数,如对象晋升机制、压缩指针等。强调调优应基于监控数据,遵循"先基础内存再GC策略"的原则,避免盲目调整。文章提供了典型场景的配置示例,帮助开发者快速掌握JVM调优的关键点。原创 2026-03-24 17:52:25 · 48 阅读 · 0 评论 -
【JAVA】使用rabbitMQ
本文介绍了RabbitMQ中消息消费失败导致无限循环的问题及解决方案。当消费者处理失败时,若设置requeue=true会导致消息不断重试,形成"消息毒丸"问题。推荐采用死信队列(DLQ)方案:1)主队列配置死信交换机和路由键;2)创建独立的死信交换机和队列;3)消费者处理失败时直接nack不requeue,使消息自动进入DLQ。通过示例代码展示了Spring Boot环境下如何配置主队列、死信交换机和队列,以及消费者正确处理失败消息的方法,避免系统资源浪费和雪崩效应。原创 2026-02-05 16:08:11 · 246 阅读 · 0 评论 -
【JAVA】海康威视门禁机ISAPI接口开发,人脸上传更新接口
本文实现了一个HTTP工具类HTTPClientUtil,提供GET/POST/PUT/DELETE请求方法,支持摘要认证。工具类封装了Apache HttpClient,设置连接超时、最大连接数等参数,通过DeviceInfoDTO传递设备IP、端口和认证信息。文中还展示了两个应用示例:userInfoAdd()用于添加人员信息,FaceDataRecordAdd()用于添加人脸数据,均通过POST请求与设备ISAPI接口交互。该工具类简化了HTTP请求处理,支持设备管理系统的集成开发。原创 2025-12-19 18:00:50 · 586 阅读 · 0 评论 -
Java 实现图片清晰化(锐化处理)
使用「拉普拉斯核(5 为中心权重)」,既增强人脸边缘(如轮廓、眼睛、嘴巴),又不会过度失真(避免影响识别精度)。:直接复制原图边界像素,避免锐化后出现黑边(黑边会干扰人脸识别模型)。格式,去除透明通道(大多数人脸识别系统不支持带透明通道的图片)。方法中添加文件夹遍历逻辑,循环调用。如果需要处理批量图片,可在。原创 2025-12-01 16:07:39 · 259 阅读 · 0 评论 -
JAVA+MyBatis+MyBatisPlus解决大数据量查询慢问题
摘要:本文探讨大数据量查询的三种方案:常规查询一次性加载易导致OOM且效率低;流式查询通过迭代器逐条获取数据,降低内存消耗但需保持连接;游标查询通过fetchSize控制批量获取量,兼具效率与内存安全。重点分析了MyBatis实现方案及注意事项,包括游标状态管理、结果集处理和连接释放时机,对比了三种方式的内存占用特点,为大数据处理提供了优化思路。原创 2025-11-18 17:07:28 · 128 阅读 · 0 评论 -
【2025 JAVA面试题】 常见几个具体问题
本文摘要: 数组和链表各有优劣:数组支持快速随机访问但大小固定,链表便于动态增删但访问较慢。Spring IOC通过容器管理对象依赖,核心组件包括BeanFactory和ApplicationContext。负载均衡算法包含静态(轮询、加权轮询)和动态(最小连接数)两种类型。数据库ACID特性保证事务可靠性,但NoSQL为性能可能采用最终一致性。新兴技术正探索ACID与性能的平衡。原创 2025-11-13 16:57:22 · 84 阅读 · 0 评论 -
【java】【springboot】队列涉及订单关闭数据返还异常
一、什么是RabbitMQ死信队列RabbitMQ死信队列(Dead-Letter Exchange,简称DLX)是一种特殊类型的交换机,用于处理在队列中无法被消费的消息。当消息无法被消费时,它会被转发到死信队列中,以便进一步处理。在RabbitMQ中,死信队列通常用于处理以下情况:消息无法被消费者处理:例如,如果消费者崩溃或消息的格式不正确,则无法处理消息。此时,消息将被发送到死信队列进行进一步处理。消息的优先级较低:如果消息的优先级较低,则可能无法在队列中得到及时处理。原创 2025-10-28 18:01:09 · 105 阅读 · 0 评论 -
【java】springboot分库分表 12 种分片算法(下)
摘要:本文详细介绍了ShardingSphere-jdbc支持的12种分片算法,包括INLINE行表达式分片算法、INTERVAL时间范围分片算法以及基于CosId的三种算法(MOD、INTERVAL、INTERVAL_SNOWFLAKE)等。每种算法适用于不同场景,如简单分片、时间范围分片、多分片键复合分片等。重点讲解了各算法的核心配置参数及使用注意事项,例如INLINE算法仅支持=和IN操作,INTERVAL算法需设置时间范围和分片间隔,Hint算法可实现强制路由等。通过实际配置示例和测试数据验证了算法原创 2025-10-14 17:21:51 · 100 阅读 · 0 评论 -
【java】springboot分库分表 12 种分片算法
算法的数据分布规则,那么这个算法也很容易明白,分片健值在界值范围内 [datetime-lower,datetime-upper) 遵循每满足 sharding-seconds 时间段的数据放入对应分片表,超出界值的数据上下顺延到其他分片中。在分片策略中,分片键确定了数据的拆分依据,分片算法则决定了如何对分片键值运算,将数据路由到哪个物理分片中。基于分片边界的范围分片算法,和分片容量算法不同,这个算法根据数据的取值范围进行分片,特别适合按数值范围频繁查询的场景。为 31536000 秒(一年)。原创 2025-09-24 15:02:40 · 80 阅读 · 0 评论 -
SpringBoot 中实现订单30分钟自动取消的策略
本文介绍了三种基于SpringBoot实现订单30分钟内未支付自动取消的方案:1)定时任务方案,使用@Scheduled周期扫描未支付订单;2)延迟队列方案,通过RabbitMQ的延迟消息功能实现;3)Redis过期事件方案,利用键过期通知机制。每种方案都提供了详细实现代码,其中重点说明了Redis方案需要配置键空间通知并实现消息监听。文章指出应根据业务需求、系统负载等因素选择合适方案,并可根据实际情况进行优化调整。原创 2025-09-05 16:02:18 · 98 阅读 · 0 评论 -
【JAVA高级】实现word转pdf 实现,源码概述。深坑总结
本文探讨了Java实现Word转PDF的技术难点。通过XWPFTemplate和iTextPDF工具,实现了Word文档的自动填充和格式转换。主要挑战包括:1)中文显示问题需引入系统字体;2)复杂格式(居中、换行等)需单独处理;3)服务器字体库维护问题。最终因时间限制,改为设置Word只读属性替代完整转换方案。文章揭示了文档格式转换中隐藏的复杂性,仅文本转换就涉及字体、格式等多方面处理,完整实现需要大量开发维护工作。原创 2025-08-15 14:50:52 · 292 阅读 · 0 评论 -
【JAVA】实现word添加标签实现系统自动填入字段
摘要:本文介绍了使用poi-tl库实现Word模板自动填充功能。通过{{}}占位符标记模板位置,动态填充当前日期、客户名称等信息。代码示例展示了如何获取系统日期、处理模板文件,并将数据渲染到指定位置后输出字节数组。该方法适用于合同、证书等需要动态生成内容的场景,提高了文档处理的自动化程度。原创 2025-08-15 14:09:33 · 239 阅读 · 0 评论 -
fuse低代码工作流平台概述【已开源】-自研
这是一款功能强大的低代码工作流开发平台,提供从数据库设计到应用部署的全流程可视化开发工具。主要功能包括:在线数据库设计、表单设计、流程设计、任务中心管理、报表设计以及在线代码扩展接口设计。该平台支持企业级应用开发,特别适合毕业设计项目,能实现Web应用的快速生成。项目已开源,前端代码地址为https://gitee.com/lwqsuper/fusetech-bpm-platform-new-v4-ui,后端代码地址为https://gitee.com/lwqsuper/fusetech-bpm-platf原创 2025-07-22 16:55:41 · 239 阅读 · 0 评论 -
【大模型】从0到1:DeepSeek + Coze API调用全攻略,企业,开发个人专属AI智能体使用详解,小白也能轻松上手
本文介绍了如何通过API将Coze智能体集成到自有系统中的完整步骤:1)获取API token和个人工作空间的space_id;2)通过GET请求获取bot_id;3)使用POST发起对话请求,需包含bot_id、user_id和问题内容;4)通过两次API调用异步获取响应消息。文章还解释了Coze采用异步处理机制的原因,并预告了下期将讲解Java调用Coze接口的实现方法。整个过程需要使用API工具进行调试,确保了系统集成的可行性。原创 2025-07-03 17:24:09 · 822 阅读 · 0 评论 -
基于[coze][dify]搭建一个智能体工作流,使用第三方插件抓取热门视频数据,自动存入在线表格
本文介绍了一个智能体创建方案,用于批量采集视频数据并整理到多维表格中。主要包括:1)通过第三方插件批量搜索视频获取信息;2)使用Python代码格式化处理视频数据;3)创建多维表格并导入数据。工作流程详细说明了关键词生成、视频搜索、数据格式化和表格创建等步骤,并提供了代码示例。特别强调调试注意事项,如表格token一致性要求。该方案可有效实现视频数据采集整理自动化。原创 2025-07-02 16:23:34 · 443 阅读 · 0 评论 -
一文读懂:大模型RAG(检索增强生成)含高级方法-第2章
摘要:本文系统介绍了检索增强生成(RAG)技术的核心流程与高级优化方法。基础RAG包含文档分块、向量化、索引构建和LLM生成四个步骤。高级技术包括:1)优化分块策略与嵌入模型选择;2)构建分层索引、假设问题索引等高效检索系统;3)采用重排和混合搜索提升结果质量;4)查询转换和路由技术;5)智能体架构实现复杂推理。研究显示,微调编码器和LLM可提升5%的性能指标。评估框架如Ragas建议从检索相关性、答案忠实度和问题相关性三个维度评估系统。RAG融合技术通过生成多查询显著提升搜索多样性,但也需权衡延迟和成本。原创 2025-06-27 18:01:03 · 305 阅读 · 0 评论 -
基于扣子[coze]搭建一个古代中医知识文化学习助手
摘要:本文详细介绍了创建智能体机器人的流程与配置规范。首先通过工作空间创建智能体,设置名称、简介并AI生成图标。重点构建了一位精通中国传统文化的专家角色,具备三大核心技能:1)提供古文含义及背景分析;2)考证古文出处;3)解读中医知识。所有回答需标注知识来源,并采用固定Markdown格式。系统支持插件扩展,包括联网搜索、图像处理等功能,还可对接知识库。最后设置开场白和音色选项,并支持发布至微信公众号。提示词经过优化,强调回答的准确性和格式规范性,限定仅输出传统文化相关内容。(150字)原创 2025-06-06 17:39:05 · 345 阅读 · 0 评论 -
mysql使用 过程函数 for in函数批量修改数据
mysql使用 过程函数 for in函数 批量修改数据。之前写的一个sql在某些版本mysql不能正常运行。原创 2025-05-29 17:39:46 · 220 阅读 · 0 评论 -
使用AI应用开发平台搭建夸奖机器人,玩转AI【COZE入门案例-第1课】
但是如果你为智能体设计的功能无法仅通过模型能力完成,则需要为智能体添加技能,拓展它的能力边界。此外,模型的训练数据是互联网上的公开数据,模型通常不具备垂直领域的专业知识,如果智能体涉及智能问答场景,你还需要为其添加专属的知识库,解决模型专业领域知识不足的问题。目前支持将智能体发布到飞书、微信、抖音、豆包等多个渠道中,能力优秀的智能体也可以发布到智能体商店中,供其他开发者体验、使用。,通过自然语言描述你的智能体创建需求,扣子根据你的描述自动创建一个专属于你的智能体。面板中描述智能体的身份和任务。原创 2025-05-06 17:28:06 · 402 阅读 · 0 评论 -
【sql】mysql 查询重复数据,并且进行删除
这种方法使用GROUP BY对字段进行分组,然后使用HAVING过滤出出现次数大于1的重复数据。这种方法使用ROW_NUMBER()函数对字段进行排序,并根据排序后的行号过滤出重复数据。方法一:使用GROUP BY和HAVING子句。方法二:使用窗口函数ROW_NUMBER()方法三:使用JOIN子句。原创 2025-04-10 15:47:24 · 461 阅读 · 0 评论 -
【JAVA】【疑难杂症解决!】org.springframework.transaction.UnexpectedRollbackException:
因为我在方法上写了@Transactional注解,里边调用的service的方法上也写了@Transactional注解,并且我在controller还写了try Catch捕获,在catch中使用e.printStackTrace()打印,没有我想要的具体提示信息,在控制台直接报了。1.把service中的@Transactional取消掉,直接使用最外层的事务,但是我是调用了两个service,并且这两个service别的地方还需要单独用,所以就没用这种方式。事实我遇到的问题是数据库的问题!原创 2025-04-01 18:00:59 · 409 阅读 · 0 评论 -
【人工智能】实现【DeepSeek】使用【Anything LLM】并使用本地知识库回答!本地部署告别服务器崩溃的烦恼!
增强和生成就是,在向量数据库找到相关内容并提取后,将相关内容和原始问题,输入到大模型中,由大模型整合后输出回答。另外,如果发现AI回答的不是知识库的内容,还可以在文档Save& Embed后,点击“图钉图标”。先讲一下分块大小是什么意思,如果分块大小为500,程序会将你的文档分成n个500左右的片段。你在使用知识库时,模型会根据你的问题将这100个片段排序,相关度最高的排最前面。这个就是回答依据的倾向性,是依据大模型自身的知识,还是参考知识库的知识。有标题,分段,各部分内容逻辑清晰,方便机器去理解。原创 2025-03-07 18:02:40 · 501 阅读 · 0 评论 -
【JAVA】SpringBoot 实现 License 认证(只校验有效期)&认证安全性保证
其他参数使用默认值即可,validity(私钥的有效期)设置十年就可以,因为以后会通过私钥和证书有效期生成证书license。需要关注以及修改的参数:storepass(私钥库的密码)、keypass(私钥的密码)公钥与生成的证书给使用者(放在验证的代码中使用),验证证书license是否在有效期内。因此通常的做法是使用服务器许可文件,在应用启动的时候加载证书。授权者保留私钥,使用私钥和使用日期生成证书license。以上都是授权者需要做的,下面说下使用者需要的配置。私钥文件,自己保存,以后用于生成。原创 2025-01-10 11:32:12 · 858 阅读 · 0 评论 -
【人工智能】Python | 预测模型对比(1)
2. ARIMA模型(自回归积分滑动平均模型)是一种基于时间序列数据的预测方法,它通过分析历史数据中的自相关性和移动平均性来预测未来值。ARIMA模型是一种用于时间序列预测的统计方法,特别适合于平稳的时间序列数据,考虑了自回归(AR)、差分(I)和移动平均(MA)部分来捕捉数据中的趋势与季节性变化。如果数据之间存在较强的线性关系,且目标是预测数值型数据,那么线性回归预测可能更好。线性回归预测和ARIMA模型预测是两种不同的时间序列预测方法,适用于不同类型的数据和预测目标。原创 2024-11-15 17:52:02 · 385 阅读 · 0 评论 -
JAVA制作SSO用户中心实现同步登录
如果用户中心的redis出现问题。一般是通过前端访问后端接口时请求中的Authorization 实现的。登录时在用户中心redis保存 code与token的对应关系。此链接跳转时,用code获取token及用户信息返回前端即可。而且 其它系统有自己的注册模块还需要同步注册信息至用户中心。是没有保存session信息的。则通过不同系统跳转时通过,跳转连接后添加code。则通过不同系统跳转时通过,跳转连接后添加code。如果前端项目是不同的分开的。跳转进入的系统 这时通过接口请求用户中心。原创 2024-11-07 16:17:22 · 416 阅读 · 0 评论 -
【JAVA+flowable】工作流 实现抄送节点
当前节点id Activity_02nvulp 到下一节点 Activity_1ugwbm5。由于flowable并没有 抄送节点 这一节点类型 所以用自带的 空白任务 改造成抄送。2.接下来就是 获取下一节点 Activity_1ugwbm5 的抄送人信息了!但是发现自定义的 抄送任务 和 用户任务 实际上是flowable中不同的对象!由于flowable并没有 抄送节点 这一节点类型。1.就是需要获取到 流程当前节点,下一个抄送节点。增加一种节点任务类型: 抄送任务。即当前节点到下一节点信息。原创 2024-10-10 14:12:23 · 2193 阅读 · 0 评论 -
【前端VUE】npm i 出现版本错误等报错 简单直接解决命令
-legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用npm版本4到版本6的样式去安装依赖,已有的依赖不会覆盖。--force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。使用--force或--legacy-peer-deps可解决这种情况。建议用--legacy-peer-deps 比较保险一点。万能解决命令---------前端vue npm i。在终端重新安装即可解决。原创 2024-08-13 18:02:58 · 1642 阅读 · 2 评论 -
【人工智能】【深度学习】 Python中进行数据归一化处理
归一化是数据预处理中的一种常用技术,旨在将数据按比例缩放,使之落入一个小的特定区间,通常是[0, 1]或[-1, 1]。归一化通过将所有特征缩放到相同的尺度(如[0, 1]或[-1, 1]),可以减少不同特征之间的尺度差异,从而加速算法的收敛速度。归一化是数据预处理中的一个重要步骤,它有助于将数据缩放到一个特定的区间内,通常是[0, 1]或[-1, 1],以便于后续的数据分析和机器学习算法处理。这是最简单的归一化方法之一。其中, 是原始数据, 是数据的均值, 是数据的标准差, 是归一化后的数据。原创 2024-08-13 14:23:35 · 254 阅读 · 0 评论 -
【JAVA+flowable】流程引擎详解-获取发起流程详情及表单
这里主要 是定制了新的 表单 detailVo.setProcessFormListNew(processFormListNew(bpmnModel, historicProcIns,nodeList));throw new ServiceException("没有可办理的任务!下一章 具体讲解 替换表单 为新的 表单设计器内容 的实现。通过流程任务id获取 当前任务节点。// 获取Bpmn模型信息。通过流程实例id获取。原创 2024-08-08 18:03:07 · 476 阅读 · 0 评论 -
vue一些npm i 时报错问题解决【JAVA前后端分离】
前端vue npm i安装时出现问题解决使用命令即可编译。原创 2024-07-31 09:27:08 · 392 阅读 · 0 评论 -
java事务回滚原理 Java事务回滚的实现及流程
回滚点是事务中的一个标记,可以在事务执行的过程中设置多个回滚点。当事务回滚时,可以选择回滚到指定的回滚点,而不是回滚到事务开始的状态。事务回滚是指当事务执行过程中出现异常或错误时,将已经执行的操作全部撤销,恢复到事务开始之前的状态。当事务中的某个操作发生异常时,事务管理器会捕获异常,并根据事务的隔离级别和回滚策略来决定是否回滚事务。4. 事务管理器:Java中的事务回滚由事务管理器来负责。通过这些机制,Java中的事务可以保证在发生异常或错误时能够回滚到事务开始之前的状态,确保数据的一致性和可靠性。原创 2024-07-23 10:00:07 · 863 阅读 · 0 评论 -
【java高级】【算法】通过子节点 反向获取 树路径父节点 且不获取无关节点
将listP (用户对选项的 配置信息 自节点 id)进行遍历。要注意这里返回的 不是一个树list。【一般】我们开发中都是直接通过 树节点 返回 其下子节点。4.继续 这一步 将LIST 转为 一个树list。并且去重后整理 选择的树 自节点 id为一个list。依旧是返回树,但是只包含 选择的子节点。数据库中存储的 用户对选项的 配置信息。就是 通过子节点id 筛选出 父节点。如果 父节点 又有 父节点 就继续。用户配置在某选择框的选项。以及涉及的父节点,树路径。而且还要考虑多节点的情况。原创 2024-07-01 14:45:25 · 447 阅读 · 0 评论 -
【JAVA+flowable】工作流 完成任务代码 及扩展节点审核人(实现多级部门主管 审核等)详解【JAVA+springboot】
flowable工作流【JAVA+springboot】前端传递此参数就可以实现 流程中 审批 更新流程变量参数var。可以看到 complete()方法 传递了流程变量参数var。使用flowable 工作流 完成任务代码 详解。也可以进行更多扩展 实现流程中更新表单内容功能。实现对于流程自定义 动态节点审核人 功能代码。原创 2024-06-04 15:45:21 · 1101 阅读 · 0 评论 -
人工智能 框架 paddlepaddle 飞桨 使用指南& 使用例子 线性回归模型demo 详解
安装过程&使用指南&线性回归模型 使用例子本来预想 是安装 到 conda 版本的 11.7的但是电脑没有gpu 所以安装过程稍有变动,下面简单讲下由于想安装11.7版本 py 是3.9所以虚拟环境名称也是 paddle_env117检查环境即可。原创 2024-05-22 17:57:05 · 635 阅读 · 0 评论 -
【自研】工作流引擎设计与实现·基础【基础定义】篇
在工作流中,业内习惯使用bpmn规范来定义流程,但是因该规范过于庞大且复杂,所以本工作流的设计并不采用该定义规范。而是以LogicFlow流程编辑器框架为基础,进行自定义扩展。(省去前端再次技术选型的问题)这里做一下简单的介绍。上文我们提到的流程元素就是构成流程的基础单元,其中各节点对应着LogicFlow的node,而输入/输出边则对应着LogicFlow的edge。"x": 340,"y": 160,"text": "开始"},"x": 520,"y": 160,"text": {原创 2023-10-17 15:11:18 · 523 阅读 · 0 评论 -
jvm 堆内存 栈内存 大小设置
4种方式配置不同作用域的jvm的堆栈内存。原创 2023-10-07 16:36:54 · 780 阅读 · 1 评论 -
java批量查询等优化相关
然后if判断两个list。查询时直接分组 为map。批量查询时,有个问题。将关联部分作为key。原创 2023-09-18 14:26:53 · 372 阅读 · 0 评论 -
2023 年上半年软件设计师 真题分享
2023 年上半年 软考 软件设计师 真题分享原创 2023-09-15 11:53:49 · 1301 阅读 · 0 评论 -
工作流引擎设计与实现·模型抽象 化
上文对工作流进行了一些基本的介绍,有了基础篇的内容,相信我们可以很容易抽象了一些实体模型:流程模型、开始节点模型、结束节点模型、任务节点模型、决策节点模型、分支节点模型、合并节点模型、边模型。原创 2023-09-14 15:21:22 · 257 阅读 · 0 评论
分享