- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 玩转Spring Cloud Gateway与Nacos的双实例负载均衡
通过本文的实战演示,我们实现了:✅ 双网关实例部署 - 实现高可用架构✅ 多种负载均衡策略 - 轮询、权重、自适应、IP哈希✅ Nacos集成 - 服务发现与动态配置✅ 生产级特性 - 健康检查、熔断、监控普通场景:使用轮询策略性能不均:使用权重策略会话保持:使用IP哈希策略高性能要求:使用自适应策略设置实例健康状态监控配置响应时间告警监控负载均衡均匀性根据流量预估确定实例数量设置合理的自动扩缩容策略扩展思考基于机器学习的智能负载均衡跨地域的全局负载均衡。
2025-11-03 17:18:12
777
原创 UniApp 中实现 iOS 版本更新检测:从原理到实战的完整指南
在 UniApp 中实现 iOS 版本更新检测需要平衡功能需求和平台限制。通过本文介绍的方案,你可以:✅ 合规地检测版本更新✅ 提供良好的用户体验✅ 实现灵活的更新策略✅ 遵守苹果审核指南关键是要记住:iOS 版本更新的核心是引导而非强制,所有的实现都应该围绕这个原则展开。附录:服务端 API 示例javascript// Node.js 示例'ios': {description: '1. 优化性能体验\n2. 修复已知问题\n3. 新增隐私政策',},
2025-11-03 15:04:24
517
原创 线上服务OOM崩了,我三斧子搞定!从爆缸到根治,实战复盘实录
本次OOM排查给我们的启示:工具链是战斗力:熟练使用MAT、Arthas、JVM参数是现代Java工程师的必备技能。内存泄漏的本质:是“该释放的对象没有被释放”。时刻警惕长生命周期对象(如静态集合)对短生命周期对象的引用。防患于未然:将-XX:+HeapDumpOnOutOfMemoryError等参数作为线上服务的标配。建立完善的内存监控和告警体系。OOM并不可怕,可怕的是面对故障时的手足无措。通过这次实战,我们不仅解决了一个问题,更沉淀了一套从应急到根治的方法论。
2025-11-02 21:23:49
895
原创 SpringBoot 3.2 + 虚拟线程:真·碾压传统线程池?性能提升十倍不止!
随着SpringBoot 3.2的发布,对Java 21虚拟线程(Virtual Threads)的正式支持成为了万众瞩目的特性。本文将深入探讨如何在高性能的SpringBoot应用中集成虚拟线程,并通过真实的性能压测对比,揭示其相对于传统线程池的巨大优势。同时,我们也将拨开迷雾,聊聊虚拟线程的适用场景与陷阱,让你不仅能上手,更能懂其原理。
2025-11-02 21:14:17
911
原创 Nacos:微服务架构的“服务管家“ - 从入门到实战
想象一下,你正在管理一个大型电商系统,这个系统被拆分成几十个微服务:用户服务、商品服务、订单服务、支付服务等。这些服务需要相互通信,比如订单服务需要调用用户服务和商品服务。服务发现:订单服务如何知道用户服务在哪里?配置管理:如何统一管理所有服务的配置?健康检查:如何知道某个服务是否正常运行?这就是Nacos要解决的问题!Nacos(Naming and Configuration Service)是阿里巴巴开源的动态服务发现、配置管理和服务管理平台。
2025-11-01 09:53:06
460
原创 彻底搞懂Web认证:Token、Session、Cookie、JWT、OAuth2 核心区别与实战
技术 存储位置 状态 安全性 适用场景Cookie 客户端 有状态 中等 会话管理、用户偏好Session 服务端 有状态 高 传统Web应用、需要服务端状态Token 客户端 无状态 中高 API认证、移动应用JWT 客户端 无状态 高 分布式系统、单点登录OAuth2 客户端+服务端 无状态 最高 第三方授权、开放平台。
2025-11-01 09:52:44
553
原创 SpringBoot + YAML 数据脱敏神操作!
yamlmasking:rules:# 手机号脱敏规则phone:- "phone"- "mobile"# 身份证脱敏规则idCard:- "idCard"# 邮箱脱敏规则email:- "email"# 自定义姓名脱敏name:- "name"# 银行卡号脱敏bankCard:- "cardNo"pattern: 正则表达式匹配模式,使用分组捕获需要保留的部分replacement: 替换模式,通过$1、$2引用分组内容。
2025-10-31 14:42:43
320
原创 Spring Boot十大核心特性详解:从配置管理到监控运维
Spring Boot作为Java生态系统中最受欢迎的框架之一,极大地简化了Spring应用的开发和部署。本文将深入探讨Spring Boot的十大核心特性,帮助开发者更好地理解和运用这些功能。
2025-10-31 14:00:56
992
原创 你的 Java 应用,还在“泡面时间”启动吗?
然后……你去泡了碗面,吃完回来,进度条才走到一半。“我的天,这是启动应用,还是启动火箭?别慌,你不是一个人。Java 应用启动慢,是老生常谈的问题。尤其是在微服务、云原生时代,“秒级启动” 已成为标配。今天,我们就来揭秘:如何让你的 Java 应用从“龟速”变“闪电”,让面试官听完你的回答,直接怀疑你是不是偷偷改了 JVM 源码。
2025-10-31 11:37:15
804
原创 你还在用JDK8么?给你一个升级JDK17的理由!(二)
JDK 17发布至今已有两年多时间,你是否仍在使用JDK 8?不妨了解一下JDK 17的新特性,这些知识在技术面试中会很有帮助。
2025-10-31 10:43:58
702
原创 你还在用JDK8么?给你一个升级JDK17的理由!(一)
从优雅的密封类到简洁的记录类,从模式匹配到文本块,这些"神仙语法"不仅能让你的代码行数减少 30%,还能提高代码可读性和维护性。作为一位使用 JDK 17 已有两年的开发者,我将分享这些强大特性如何在实际项目中为我节省了无数时间,并彻底改变了我编写 Java 代码的方式。准备好迎接 Java 的新时代了吗?
2025-10-31 10:31:45
975
原创 从被裁到自由:半年时间,我如何实现逆袭的
我意识到,单纯靠接零散的外包项目(塔基),不仅辛苦,而且收入天花板极低。在家“躺平”了一周后,我意识到:这或许是危机,但也可能是命运逼我做出的一次转型。我曾在一个项目中,为了炫技而使用了最新的、但不成熟的技术栈,导致项目后期维护成本极高,几乎没赚到钱。我的行动: 我将之前为A客户开发的CMS进行抽象、优化和文档化,打包成一个标准化的SaaS产品。技术是基本功,但商业思维是关键。
2025-10-29 17:10:42
806
原创 Claude Code Java实战指南
local prompt="你是一个资深Java专家。请回答以下Java相关问题:$*"# 调用Claude API并返回简洁的回答-d "{
2025-10-29 16:44:26
901
原创 Spring Cloud Alibaba + DeepSeek:构建下一代智能客服系统架构实战
通过Spring Cloud Alibaba与DeepSeek的深度整合,我们成功构建了具备以下特性的智能客服系统:7.1 架构成果弹性伸缩:基于实时流量自动扩缩容,支持万级QPS并发智能路由:多模型动态编排,优化响应质量与成本平衡全链路可观测:分布式追踪 + 智能监控,快速定位问题容错设计:多层次熔断降级,保障系统高可用性7.2 技术亮点响应式编程:全链路非阻塞,最大化资源利用率向量检索:基于Embedding的语义相似度匹配流式响应:类ChatGPT的实时交互体验。
2025-10-29 15:46:41
1228
原创 鸿蒙开发系列文章:(二)从入门到精通,鸿蒙操作系统概述,软件工程师的必备知识
随着科技的不断发展,智能手机、平板电脑、智能穿戴设备等智能设备逐渐成为了我们生活中不可或缺的一部分。而在这背后,操作系统作为智能设备的核心,扮演着至关重要的角色。近年来,华为推出的鸿蒙操作系统备受关注,成为了软件工程师们热议的话题。本文将为您详细介绍鸿蒙操作系统的概述,帮助您了解这款新兴操作系统的特点和优势。一、鸿蒙操作系统简介鸿蒙操作系统(HarmonyOS)是由华为公司自主研发的一款面向全场景、分布式智能设备的操作系统。它采用了微内核设计,具有跨平台、低延迟、安全性高等特点。鸿蒙操作系统旨在为智能设
2024-10-30 10:22:31
419
原创 鸿蒙开发系列文章:(一)从入门到精通,打造爆款学习计划
您可以选择使用华为官方提供的DevEco Studio,这是一个集成开发环境,支持鸿蒙应用开发、调试和部署。在掌握了基础知识后,您可以开始学习鸿蒙开发的进阶技能,如鸿蒙应用开发、鸿蒙服务开发、鸿蒙设备开发等。通过制定合理的学习计划,掌握科学的学习方法,您一定能够从入门到精通,打造爆款学习计划。鸿蒙操作系统是一个不断发展的系统,因此,您需要持续关注鸿蒙的最新动态和技术发展趋势,以便不断提升自己的开发能力。鸿蒙开发涉及的知识面较广,因此,您需要制定一个系统的学习计划,按照一定的顺序逐步深入学习。
2024-10-30 10:07:32
778
原创 SpringBoot应用开发实战指南:快速构建高效、可扩展的Java应用
SpringBoot是一个基于Spring框架的轻量级Java应用开发框架,它通过自动配置、简化配置和约定优于配置的原则,使得Spring应用的开发变得更加简单和快速。SpringBoot支持创建独立运行的Spring项目,并且可以轻松地与Spring Cloud集成,实现微服务架构。SpringBoot应用开发是Java应用开发中非常重要的一部分。通过掌握SpringBoot应用开发的相关知识,我们可以快速构建高效、可扩展的Java应用,提高开发效率和代码质量。
2024-10-29 17:34:12
815
1
原创 CPU狂飙900%,该怎么处理?
陈某提示:大家介绍场景的时候,就说自己主要涉及了两个场景, Java进程飙升900%、MySQL进程飙升900%两种场景,其实,这两个场景就足够讲半天了, 其他的,使用规避技巧规避一下就行。转换后的结果分别为7665,由于导出的线程快照中线程的nid是16进制的,而16进制以0x开头,所以对应的16进制的线程号nid为0x7665。但是,一旦高并发场景,要么走到了死循环,要么就是在做大量的 GC, 容易出现这种 CPU 飙升的情况,CPU飙升900%,是完全有可能的。目测数据量不大,也就几百万条而已。
2024-04-10 12:51:18
1147
1
原创 Java经典面试题总结(附答案)(一)
② List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals()方法 ,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要的值。List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。
2023-09-15 15:58:56
183
原创 ubuntu远程桌面连接windows
6、点击“保存”按钮,连接就建立成功了。注意:在Windows上需要开启远程桌面功能,并且防火墙需要允许远程桌面连接。4、在“基本”选项卡中,输入Windows的IP地址或主机名,并选择连接时使用的用户名和密码。5、在“高级”选项卡中,可以设置远程桌面的分辨率、颜色深度等。3、点击左上角的“新建连接”,在弹出的窗口中选择“RDP”。2、安装完成后,在Ubuntu上打开Remmina。
2023-09-14 11:09:54
995
1
原创 Post/Redirect/Get PRG 模式
当服务器处理完 Post 请求后,会发响应给用户浏览器,指示用户浏览器用 Get 方式立刻访问另一条 URL。此时用户刷新当前页面,也不会引起 Post 请求的重复提交了。默认情况,提交 Post 请求到服务器后,如果直接刷新浏览器,会重新在提交一次 Post 请求。在访问电商网站时,提交订单采用的是 Post 请求,如果直接刷新浏览器就容易导致重复订单的提交,这个不是用户希望发生的行为。PRG 方法就是用户防止这种现象的发生。下面例图描述了默认情况,服务器和浏览器处理 Post 请求的流程。
2023-09-07 09:52:15
321
原创 数据库表结构快捷转换 C#实体类
版权声明:本文为CSDN博主「daomengzei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Daomengzei/article/details/120744952。
2023-07-10 09:36:34
371
1
转载 VS2022 .NET5一键发布到远程腾讯云IIS服务器
原文链接:https://blog.csdn.net/baidu_39105563/article/details/123299116。版权声明:本文为CSDN博主「小星博博」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。就是这个东西,我的服务器是64位的,如果是本地iis用的话,看一下自己系统是多少位的 下载好后自行安装。到这里服务器的事就配置好了,接下来配置VS。(3)配置服务器的信息,这是配置好的截图。(1)选择WebServer(IIS)配置好,重新启动IIS。
2023-06-20 14:01:10
644
2
转载 @PostConstruct详解
其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象a和对象p,才能执行注入。@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。@PostConstruct是Java自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。微信扫一扫 关注公众号。
2023-06-16 15:45:50
193
1
转载 tomcat 性能调优
对于应用程序而言,它们根本就不需要考虑具体的平台,不管是Unix、linux还是Window,应用程序执行的接口基本都是统一一致的。而APR最早的目的并不是如此,它最早只是希望将Apache中用到的所有代码合并为一个通用的代码库,然而这不是一个正确的策略,因此后来APR改变了其目标。APR的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
2023-05-10 16:13:58
241
1
转载 Guava简介
Guava是一种基于开源的Java库,GoogleGuava源于2007年的"Google Collections Library"。这个库是为了方便编码,并减少编码错误。这个库用于提供集合,缓存,支持原语句,并发性,常见注解,字符串处理,I/O和验证的实用方法。
2023-05-10 15:42:34
730
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅