自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凯哥Java的博客

个人博客:www.kaigejava.com

  • 博客(338)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 小心!Spring Bean的静态陷阱:当static final遇上未就绪的容器

探索Spring Bean初始化与类加载时序冲突的致命陷阱,提供避免NullPointerException及确保容器就绪的最佳实践和解决方案。

2025-07-28 14:03:50 214 4

原创 微服务+多级缓存,性能起飞

本文探讨了微服务架构下的多级缓存设计策略,从客户端到服务层全面解析性能优化方案。主要内容包括:1)客户端通过Expires响应头实现浏览器静态资源缓存;2)应用层采用CDN智能分发和Nginx静态资源缓存;3)服务层结合进程内缓存(EhCache)与分布式缓存(Redis),通过MQ保证数据一致性。文章指出多级缓存特别适用于数据稳定、高并发及允许短暂不一致的场景,并强调应根据业务特点灵活选择缓存策略,在性能与复杂度之间取得平衡。

2025-07-21 14:01:13 415 1

原创 ChirpStack设备帧计数器异常排查:Frame-counter reset/rollover问题分析与解决

本文分析了ChirpStack设备中帧计数器异常问题,包括Frame-counter reset/rollover的成因与解决方案。当设备与服务器计数器不一致时,会触发安全拦截导致通信中断。文章提供了两种解决方式:强制重置计数器(推荐)或临时关闭验证(风险高)。同时提出固件优化(持久化存储、32位计数器)和运维监控等预防措施,在保障LoRaWAN通信安全的前提下降低业务中断风险。操作路径以表格形式清晰呈现,便于快速定位问题。

2025-07-18 15:05:43 595

原创 登录功能实现深度解析:从会话管理到安全校验全流程指南

启用JWT压缩(特别是包含大量claims时)使用非对称加密算法(RS256)替代HS256实现令牌黑名单的自动过期清理配置合理的会话超时时间启用HTTP/2提升传输效率使用CDN加速静态资源访问通过本文的详细实现方案,大家可以构建出更加安全可靠、高性能的登录认证系统。建议根据实际业务需求选择合适的会话管理方案,并持续监控系统安全指标。JWT令牌生成指南Redis在会话管理中的作用Spring Security过滤器配置Web应用常见攻击防御策略基于OAuth2的微服务认证。

2025-07-17 11:42:03 917

原创 消除重复代码:MyBatis-Plus自动填充公共字段实战

本文介绍了利用MyBatis-Plus和AOP技术实现数据库公共字段自动填充的解决方案。针对开发中常见的创建时间、更新用户等重复字段维护问题,提供了从基础配置到高级实践的完整实现方案,包括元对象处理器、自定义注解切面处理、多数据源适配等核心策略。文章还分享了生产环境中的性能优化技巧和常见问题解决方案,如线程缓存用户信息、批量操作优化等。实践表明该方案可显著减少重复代码量,降低维护成本,提升开发效率。适用于需要统一管理公共字段的Java企业级应用开发场景。

2025-07-16 08:45:00 986

原创 还用WebSocket?这才是实时消息推送的正确姿势!轻量好用~

本文深度解析SSE(Server-Sent Events)技术优势:基于HTTP协议的轻量级实时通信方案,特别适合数据大屏、消息通知等单向推送场景。对比WebSocket和轮询方案,SSE具有实现简单、默认断线重连、兼容性好等特点。文章通过完整Demo演示Node.js+Express实现方案,详细讲解SSE API使用方法,包括EventSource建立连接、消息监听等核心功能,帮助开发者快速掌握这一高效推送技术。同时指出SSE不适用于双向通信场景,并提醒注意IE和小程序不支持的限制。

2025-07-15 19:25:21 685

原创 这套天花板级的单点登录方案,推荐给大家~

但是有时要针对特定的用户、特定的应用进行二次密码校验的功能,防止关键系统的登录,导致的信息敏感泄露,比如财务系统或者个人工资账单,在实际工作中经常出现工作代理的情况,即使出现单点登录的密码泄露,二次密码也很好地保护敏感应用系统;每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。同样的密码每次使用 bcrypt 编码,密码暗文都是不一样的。

2025-07-14 13:04:06 782

原创 阿里这款多级缓存框架一定要掌握,非常不错!

摘要:阿里开源的JetCache是一款高效的多级缓存框架,支持本地缓存(Caffeine/LinkedHashMap)与Redis分布式缓存的无缝集成。本文详细介绍了JetCache在SpringBoot项目中的三种使用方式:注解驱动的AOP模式(推荐)、API模式和高级API模式,并提供了完整的配置示例和常见问题解决方案。该框架通过自动化缓存加载/失效机制、TTL控制和缓存预热等特性,显著提升高并发系统性能。文章还对比了不同缓存类型的协同工作逻辑,并强调了实体类序列化等重要注意事项。(148字)

2025-07-11 13:06:39 570

原创 面试官问我:你写代码会复用公共SQL么?

本文分享3种Java项目中SQL复用的实战方案:MyBatis的<sql>标签实现字段复用,动态SQL封装分页逻辑,常量类管理简单SQL片段。每种方案都有详细代码示例和适用场景分析,帮助开发者提升代码质量,减少重复工作,同时为面试中常见的SQL复用问题提供满分回答模板。

2025-07-10 13:13:14 637

转载 Bug率狂降50%?靠这5个IDEA插件就够了!

本文深度评测5款Java代码质量工具:阿里规约插件规范代码风格,CheckStyle检查格式问题,PMD发现安全隐患,FindBugs捕捉运行时错误,SonarLint提供整体质量评估。从安装到实战,教你构建完整的代码质量保障体系,让团队开发效率提升50%以上!

2025-07-09 13:47:25 34

原创 SpringBoot启动优化7板斧:砍掉70%启动时间的魔鬼实践

摘要:本文分享7个优化SpringBoot启动时间的实战技巧,包括延迟初始化(节省38%时间)、精准组件扫描(降低35%)、JVM参数调优(提速40%)、自动配置瘦身(减少41%)、类加载优化(降低52%)、数据库连接延迟(节省69%)以及GraalVM原生编译(最高提速99%)。通过电商平台案例展示,7项优化综合可降低70%启动时间(从14.6秒降至4.3秒),同时减少43%内存占用。文章提供详细配置代码、参数解析和效果对比图表,适用于需要快速启动的微服务场景。

2025-07-08 13:30:28 793

原创 一套万能的异步处理方案(VIP珍藏版)

摘要:本文介绍了一套通用的异步处理SDK设计方案,旨在实现无侵入式的异步任务处理,保证系统最终一致性。该方案通过注解+AOP结合事务事件监听机制,支持多种异步策略(包括消息队列、定时任务等),并提供独立数据库、人工执行界面等组件。系统具有事务感知能力,在事务提交/回滚后处理事件,并配备多重兜底方案确保数据不丢失。文章详细说明了技术原理、数据库设计、配置参数及使用方法,强调业务方需自行实现幂等性处理。GitHub已开源实现代码。

2025-07-07 13:37:56 809

原创 物联网数据归档之数据存储方案选择分析

MySQL与TDengine在物联网数据归档中的对比分析表明:MySQL适合小型场景(设备<1千/日数据<100万),需配合分区表、批量写入等优化;而TDengine在设备>1万、需实时分析的场景优势显著,具备百万级写入、高效压缩和原生时序查询能力。建议根据数据规模权衡选择,小型系统可用优化后的MySQL,中大型场景优先考虑TDengine以降低长期成本。混合业务可双写MySQL(事务)和TDengine(指标)。验证阶段建议用生产数据实测两种方案的写入延迟、存储占用和查询性能。

2025-06-03 16:13:06 950

原创 物联网数据归档方案选择分析

物联网归档数据存储方案分析 摘要:针对物联网时序数据存储,对比了两种归档方案。方式1采用年月日三级分区,方式2采用年月日时四级分区。综合分析表明,方式2在查询性能、写入效率和冷热数据管理方面更具优势:1)小时级分区精准匹配原始数据粒度;2)支持高效明细查询和动态聚合;3)便于实施分层存储策略。建议优先选择方式2,并结合时序数据库(如ClickHouse)的自动分区和压缩功能优化实施。方式1仅适用于数据量极小且无需原始数据分析的特殊场景。(149字)

2025-06-03 15:36:52 1031

原创 删了Key内存还不释放?Redis工程师都不想说的秘密

Redis删除缓存后内存不降反升?本文深度剖析内存碎片、持久化机制、操作系统回收三大核心原因,提供6种实战解决方案

2025-04-11 22:36:54 413

原创 从keys到SCAN:Redis批量删除的进化之路

Redis批量删除指定前缀键时,keys命令易阻塞,SCAN非阻塞适合生产环境,Lua脚本支持原子性但需慎用。本文对比三种方法优缺点,建议优先使用SCAN,并给出实现代码与适用场景,助你高效清理数据。

2025-04-11 21:23:03 1229

原创 想玩短视频,不知道怎么编剧?找deepseek啊-高手篇

混剪必备: • Pixabay(无字幕纯净版素材) 手机端直接访问,搜索「Family argument」「Working class」「Parenting」 • Pexels(电影感镜头多) 重点下载「父亲教孩子修车」「母亲深夜工作」「祖孙互动」场景。▶ 专业感秘诀: ① 画中画功能:把父母说话的镜头缩小放在角落(点击素材→「画中画」→双指缩小) ② 一键变高清:导出前点击「调节」→「画质修复」打开超清选项 ③ 偷师电影感:在「滤镜」里添加「青橙」+「柔光」叠加(强度调至 40%)

2025-02-21 21:26:48 3763

原创 想玩短视频,不知道怎么编剧?找deepseek啊-小白篇

你说阶层是鸿沟,可那些蹲在菜市场教孩子算账的背脊,和坐在会议室教孩子谈判的肩膀,弯下去的弧度一模一样。」「有些孩子被教会分享最后一块糖,有些孩子被教会分享股权合同里的百分比,可糖纸折成的千纸鹤,和会议室落地窗上的雾气,都能画出自由的形状。JSON你现在是一位在xxxx上拥有百万粉丝的xxx领域创作者,主要分享xxx的、积极向上的语录内容,能够引发读者的情感共鸣。JSON你现在是一位在xxxx上拥有百万粉丝的xxx领域创作者,主要分享xxx的、积极向上的语录内容,能够引发读者的情感共鸣。

2025-02-20 20:19:39 5345

原创 腾讯元宝+DeepSeek,公众号写作的“作弊”助手

作为一名多年在公众分享技术的博主,我一直在写作的道路上摸爬滚打,最近发现了一个超级好用的神器,那就是腾讯元宝。因为企鹅元宝的deepseek-r1在联网搜索的时候,会抓公众号、视频号企鹅家族的内容。既然搜索的是从公众号内容搜索出来的,那么,是不是意味着,如果我的文章中命中的关键词越多,越容易别搜索出来?这不,就在这两天,企鹅官方也出手了,提供满血版的deepseek,不仅免费,能联网,而且最最要命的是,企鹅家的微信生态环境了。没想到,元宝几秒钟就回答出来了,还引用了我的7篇文章作为参考资料,答案非常精准。

2025-02-20 13:01:31 238

原创 怎么修改RocketMQ中broker使用内存大小

那 broker 现在是 -Xms8g -Xmx8g 我想该成4g怎么修改?然后怎么重启 ?

2025-02-14 13:18:39 964

原创 DeepSeek实战:3分钟学会提取网页纯文本!(含提示词)

DeepSeek实战:3分钟学会提取网页纯文本!(含提示词)

2025-02-13 14:00:16 564

原创 怎么修改RocketMQ中nameServer使用内存大小

怎么修改RocketMQ中nameServer使用内存大小

2025-02-12 15:37:36 1002

原创 本地DeepSeek部署实战:局域网访问与API对外开放技巧

环境变量功能说明默认值/示例设置API服务监听地址与端口,0.0.0.0表示允许所有IP访问允许跨域请求的域名列表,*为通配符自定义模型存储路径,避免占用系统盘空间控制模型在内存中的保留时间,减少重复加载开销24h(24小时)并行处理请求数,提升高并发场景下的吞吐量2启用调试日志,排查服务异常1(开启)扩展显存不足时,利用RAM/VRAM混合加载大模型(需手动计算显存值)

2025-02-12 10:48:57 949

原创 半小时内实现在Windows操作系统部署DeepSeek-R1大模型

因为Ollama以及我们需要下载的模型都是默认安装在C盘的,一般情况下,我们会给C盘分配的磁盘不是很大。那么在执行创建软链接命令前,需要多执行一步。在不依赖云端的情况下,Ollama 可以帮助用户搭建本地的大语言模型服务,适用于需要快速响应的场景,如本地聊天机器人、智能客服等。需要注意:因为Ollama是国外的,所以下载可能会有点慢,凯哥将下载好的文件已经放网盘了,有需要的朋友可以直接回复后获取。Ollama 通过简单的一行命令即可启动和部署AI模型,大大降低了模型部署的复杂度,适合开发者和个人用户使用。

2025-02-11 13:18:50 558

原创 DeepSeek-R1本地部署如何选择适合你的版本?看这里

在这些数字中,B代表“billion”(十亿),所以:1.5B意味着该模型有15亿个参数7B表示70亿个参数8B表示80亿个参数14B表示140亿个参数32B表示320亿个参数70B表示700亿个参数671B表示6710亿个参数这些模型的参数量越大,处理的数据和生成的内容就越复杂,但它们也需要更多的计算资源来运行。每种类型的硬件需求每个模型的计算和存储需求都有所不同,下面我们列出了DeepSeek-R1的各个型号,并给出了所需的硬件配置。

2025-02-11 08:30:00 828

原创 为什么选择本地部署DeepSeek-R1?这里有你需要的答案

现在的AI技术越来越火,DeepSeek-R1作为一款超级牛的深度学习工具,帮助了不少企业解决了大数据处理的问题。想象一下,你正在做一个重要的项目,结果突然打不开官网,或者响应超慢,工作进度全都被耽误了。相比官网和API的“黑箱操作”,本地部署能给你更大的灵活性,完全按照自己的方式来使用。就算官网很强大,但它毕竟是为大批用户服务的,个别人的请求就可能被拖慢,等得让人头大。而且,一旦部署成功,你就能够摆脱外部平台的限制,完全掌控自己的业务流程。万一他们的服务器坏了,或者网络出现问题,你就只能干着急。

2025-02-09 11:47:03 949

原创 打开idea开发软件停留在加载弹出框页面进不去

idea软件点击打开,软件卡在加载弹框进不去。

2025-01-03 20:44:09 1670

原创 5分钟学会:AI工具助你打造爆款教育内容!

以Kimi为代表的AI工具,凭借其卓越的自然语言处理能力,成为了众多内容创作者的首选。这种智能化的创作方式,不仅极大地提升了内容生产的效率,更为创作者节省了宝贵的时间和精力。它们提供了丰富的模板库,让你只需简单替换内容,便能快速制作出既美观又专业的知识图文。当然,若条件允许,利用会员功能进行批量生成,将进一步提升你的创作效率。将AI生成的内容整理到Excel表格中,利用设计工具的“批量创建”功能,只需一键操作,便能迅速生成多篇风格统一、内容丰富的知识图文。同时,保持学习和实践的热情,将副业逐步转化为主业。

2025-01-03 20:34:41 898

原创 AI写作不再冷冰冰,掌握这4招让文章更有人味!

比如,如果你要写一篇关于“如何提高工作效率”的文章,可以让AI模拟一个知名的效率专家,比如“番茄工作法”的创始人,或者一位职场经验丰富的大佬。AI写作已经走在了技术的前沿,它可以帮助我们节省大量的时间和精力,但如果我们希望它写出有“温度”的文章,还需要不断摸索和调整。当时觉得,哇,这样的文章也太完美了,简直是写作的未来!其实,AI是可以通过一些巧妙的调整,去掉那股机械感,让它的写作更有“人味”,更自然一些。”这种互动性的元素,不仅能增加文章的趣味性,还能提高读者的参与感,让他们更容易沉浸在文章中。

2024-12-17 13:18:25 533

原创 【本文是AI实战结果】如何将学习力转化为职场优势?四大策略揭秘

每个月,挑战自己与一个全新的人交流,无论是线上还是线下,都能为你的职业生涯带来新的启示。技能交换不仅是一种有效的学习方式,也是团队合作的催化剂,它让每个人都能为他人的成长贡献力量。让我们将学习力融入我们的职业生涯,不断学习、忘却和重新学习,以实现个人和职业的持续成长。与竞争对手沟通,倾听不同的声音,可以帮助我们打破思维的桎梏,发现新的视角。通过站在别人的角度看待自己的技能,我们可以获得新的视角,发现重新学习的机会。通过在不同的情境下应用我们的优势,我们可以保持它们的活力,并在新的挑战中发现它们的价值。

2024-11-28 09:00:00 689

原创 如何用AI创作10W+阅读量的爆款文章?四步轻松达成

通过上述四个步骤,即使是初学者也能在AI的帮助下,逐步掌握创作爆款文章的技巧。值得注意的是,虽然AI是一个强大的辅助工具,但它不能代替创作者的个人洞察力和创新思维。只有将AI的优势与人类的智慧相结合,才能真正创作出既有深度又广受欢迎的作品。看看效果:段落写作重写后效果看看上面重写后的效果还可以吧!具体写出来的质量,就交给大家评判了!如果你对这种方法感兴趣,不妨亲自尝试一下,或许下一个10W+爆款文章的作者就是你!学会了或有启发,别忘了给我如果您对AI感兴趣,欢迎链接我!我是凯哥。

2024-11-27 09:00:00 739

原创 ChatGPT的应用场景:开启无限可能的大门

例如,一家广告公司需要为一款新产品制作广告,可以通过ChatGPT输入产品的特点和目标客户群体,生成多个版本的广告文案,从中挑选最合适的方案。例如,一位股票分析师可以通过ChatGPT获取最新的市场动态,分析特定公司的财务状况,为客户提供专业的投资建议。例如,一位设计师需要为一个新的品牌创建标志,可以通过ChatGPT输入品牌的特点和设计风格,生成多个初步设计方案,进一步优化和完善。例如,一位独居的年轻人感到孤独时,可以与ChatGPT进行对话,分享自己的感受,获得积极的反馈和建议。

2024-11-26 14:41:03 1416

原创 利用 MyBatis Plus 拦截器动态管理数据访问权限

2. 创建拦截器@Component@Autowired@Bean功能权限与数据权限02进阶版实现1. 建立范围枚举@Getter2. 建立角色枚举@GetterDATA_MANAGER("数据管理员", "DATA_MANAGER", DataScope.ALL),DATA_AUDITOR("数据审核员", "DATA_AUDITOR", DataScope.DEPT),

2024-11-17 13:21:28 705

原创 Nginx + Lua + Redis:打造智能 IP 黑名单系统

通过 Nginx + Lua + Redis 实现的 IP 黑名单功能具有以下优点:配置简单轻量:对服务器性能影响小,易于部署和维护。共享黑名单:多台服务器可以通过共享 Redis 实例实现黑名单的同步和共享。动态配置:可以手工或通过自动化方式设置 Redis 中的黑名单,实现动态管理。

2024-10-26 13:27:05 1071

原创 敏感词过滤实战:Java 开发者不可错过的 sensitive-word

二、使用步骤引入 Maven 依赖在您的pom.xml文件中添加以下依赖,确保使用的是最新版本,具体版本号请参考官方文档或 GitHub 仓库。核心方法使用实例核心方法常规用法:查找与替换下面的代码展示了如何使用进行敏感词的基本检测和替换操作。String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。System.out.println("是否包含敏感词:" + SensitiveWordHelper.contains(text));

2024-10-21 08:30:00 1983

原创 如何全面优化MySQL性能

遵循上述指导原则,结合自身应用场景的特点灵活调整优化方案,将有助于显著增强MySQL数据库系统的整体性能。实践中,请记得不断测试与验证所做改动的效果,以确保达到最佳性能状态。MySQL数据库性能优化是一项复杂而细致的任务,它涉及到数据库设计、查询优化、服务器配置等多个方面。:适当程度的规范化可以消除数据冗余,但过度规范化则可能导致复杂的查询结构,降低查询速度。:索引是提高数据检索速度的有效手段,但过多的索引会影响数据更新操作的速度。:合理选择数据类型不仅能够节省存储空间,还能提高查询效率。

2024-09-18 13:28:49 868 1

原创 【架构设计】多级缓存:应用案例与问题解决策略

多级缓存系统的工作原理及其在提升应用性能方面的关键作用。通过对比本地缓存与分布式缓存的特点多级缓存系统作为性能优化的重要组成部分,通过在不同层级存储数据,有效提升了应用程序的响应速度。这种策略主要包括本地缓存和分布式缓存两大组成部分。本文原创:凯哥就Java(kaigejava)当业务请求发起时,系统首先会在本地缓存(如使用Caffeine或Guava Cache)中查找所需数据。若未能找到,则会进一步查询分布式缓存(通常基于Redis)。一旦数据被检索到,便会同时存储在本地缓存中,随后返回给客户端。

2024-09-17 09:17:12 1161

原创 Nginx实用篇:实现负载均衡、限流与动静分离

Nginx 以其灵活多变的配置方式和高效的执行能力,成为现代 Web 架构不可或缺的一部分。无论是通过反向代理实现的负载均衡,还是限流机制以及动静分离策略,都能极大地改善服务质量和用户体验。熟练掌握这些配置技巧,可以帮助我们更好地发挥 Nginx 的潜力,进一步提升 Web 应用的整体性能。

2024-09-16 11:15:00 1042

原创 Nginx实用篇:实现负载均衡、限流与动静分离

Nginx 以其灵活多变的配置方式和高效的执行能力,成为现代 Web 架构不可或缺的一部分。无论是通过反向代理实现的负载均衡,还是限流机制以及动静分离策略,都能极大地改善服务质量和用户体验。熟练掌握这些配置技巧,可以帮助我们更好地发挥 Nginx 的潜力,进一步提升 Web 应用的整体性能。

2024-09-16 09:16:17 1520 1

原创 优化批处理流程:自定义BatchProcessorUtils的设计与应用

本文将介绍一种自定义的批量数据处理工具类——BatchProcessorUtils类,它能够帮助开发者更方便地将一个大的数据集拆分成若干个小批次,并提供便捷的遍历接口。通过合理的批次划分,不仅可以提升程序的执行效率,还能有效地避免内存溢出等潜在的风险。对于那些需要频繁处理大批量数据的应用来说,这个工具无疑是一个值得考虑的选择。④:方法实现:包括了hasNext()方法判断是否还有未处理的数据,next()方法获取下一个批次的数据,以及add()和addAll()方法允许动态地向数据集中添加新的元素或集合。

2024-09-15 09:34:58 714

EPUB-Checker.zip

epub电子书校验文件

2021-11-11

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

TA关注的人

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