自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 java开发心得

曾有人说Java于2026年已死,但我不信立个flag在此,并整理工作经验于此,供大家缅怀。6.Spring Cloud 核心组件。1.如何理解产品需求。2.Java常用概念。

2026-10-31 20:28:57 16

原创 软件工程概述与生命周期:

对策:案例题中先圈出度量对象——是“访问控制”(安全)、“变更代价”(可修改)、“故障恢复时间”(可用),还是“响应时间”(性能),再落属性名称。“快速更换故障模块、插件机制”属于可修改性,不能因为“故障模块”四个字就误判为可用性——可用性看的是系统是否持续提供服务,可修改性看的是变更的代价。题干中的三个关键词——“变更之后”“变更部分正确性”“原有功能不损害性”——是回归测试的标准定义。“需求描述”解决“需求怎么写清楚”,“需求分析”解决“需求意味着什么、是否冲突”,“需求获取”解决“需求从哪里来”。

2026-11-08 20:13:14 103

原创 AI面试考点

overlap 的真正适用场景是“答案确实会跨边界”的情况——如果评测显示大量正确答案被切断,才值得引入 overlap,而且 10%–15% 通常是上限,过多会稀释有效文本、增加重复召回。重排不是“可选优化”,而是在混合召回已经保证覆盖的前提下,解决“正确片段在候选集里但排名不够高”的问题。在评测中,“库外负样本”(知识库中确实没有答案的问题)是测量拒答质量的前提——没有这类样本,拒答能力无从评估。第二层:解析与切分。用户原问题、规范化后的问题、带实体和条件的扩展问题,三者可能召回完全不同的结果。

2026-11-08 20:02:48 60

原创 项目模块 LLM 应用考点 MLOps/平台考点 项目追问

② 模型/应用/编排 Prompt、Agent、工具调用、SFT/LoRA、结构化输出、安全过滤 模型版本、配置管理、A/B、灰度、回滚、成本控制 为什么用 RAG 不用微调?① 数据/知识与评测 RAG 语料切分、Embedding、召回重排、评测集、幻觉控制 数据版本、标注质量、离线评测流水线、回归测试 数据怎么清洗?③ 平台/部署/监控 LLM 网关、缓存、限流、降级、多租户、可观测性 服务化、容器/K8s、CI/CD、监控告警、漂移、审计 如何上线?

2026-11-08 19:55:34 65

原创 Feign 在 Spring Cloud 体系中的本质

这一点是理解 Feign 与 Spring 整合的关键:Spring 容器里最初只有“工厂”,真正的代理对象要等到第一次被注入或调用时才会生成。使用上最容易出问题的往往不是“代理本身”,而是请求语义的边界(GET 不能带 body、文件上传的内存成本)和失败治理的叠加(超时、重试的多层收敛)。一个容易忽略的细节:Contract 的解析发生在代理创建阶段,而不是每次调用时。这也解释了一个常见边界:Feign 的超时、重试、日志等配置,都是围绕“调用方客户端”生效的,与上一轮讨论的超时配置归属一致。

2026-11-08 08:34:26 86

原创 架构师复习大纲

优先级依据近 8 个考期实测数据与高频考点统计综合确定:P0 为“每年 2—3 题、必拿分”,P1 为“每年 1—2 题、重点辨析”,P2 为“低频、时间紧可后置”。该章近年实测约 10.8%(8 题),是公共基础中分值最稳的一章。UML 与建模 UML 关系(依赖/关联/泛化/实现/聚合/组合)、4+1 视图 P0(关系+4+1)存储管理 分页/分段/段页式、页面置换算法(OPT/FIFO/LRU) P0(页面置换)磁盘与 RAID RAID 0/1/3/5/6/10 的冗余与性能特征、磁盘管理 P1。

2026-11-07 19:22:06 105

原创 软考真题1

系统架构设计师上午题中,软件架构设计是分值最高的板块,而其中“架构风格辨析”与“架构评估(ATAM/SAAM、敏感点/权衡点)”几乎是每年必现的“钉子题”。更关键的是,这一组知识点在命题逻辑上是连贯的:先判断系统“像哪种风格”,再识别该风格带来的“质量属性影响”,最后用“评估方法”把属性诉求形式化。这道题容易和管道—过滤器混淆,区分点在于:管道—过滤器是架构风格层面的“步骤串联”,事务流是结构化设计层面“中心分发”的数据流形态。“提高加密强度”同时拉动安全性和性能,且一升一降,是典型的权衡点。

2026-11-07 19:19:32 137

原创 从 SSM 到 Spring Boot

本文从Maven工程化、IoC/AOP内核与分层架构三方面,对比SSM与Spring Boot的演进。Spring Boot以BOM统一依赖版本,实现“约定优于配置”;通过注解自动装配简化IoC管理,构造器注入保障松耦合;AOP剥离日志、事务等横切关注点,提升代码可维护性。实践表明,Spring Boot并非取代SSM,而是将传统模式工业化、标准化,显著降低企业级开发复杂度。

2026-11-07 19:14:25 180

原创 一、RabbitMQ 核心原理

RocketMQ 则在更高吞吐、海量堆积、事务/顺序等业务消息的原生支持下,通过拉取批量、消费线程数、拉取间隔以及 Sentinel 匀速器提供更丰富的流控手段,是电商交易链路削峰的更优载体。这种“消息内容混合顺序写 + 索引分离”的设计,使得消息写入对磁盘而言是纯顺序 IO,与内存写入速度基本无差,从而在海量堆积场景下仍能保持稳定的写入性能。如果场景是电商/金融核心交易链路,需要事务消息、顺序消息、海量堆积不卡,或者预期流量存在显著的峰谷波动需要削峰,RocketMQ 在业务特性上的契合度更高。

2026-11-06 21:09:34 226

原创 Redis 深度解析

先更库后删缓存 + TTL + 异步兜底的组合,之所以在大量系统中经得起线上流量的检验,正是因为它承认了两个存储之间不可能原子同步,并把设计重心放在“错了之后多快能收敛”上,而不是追求一个不存在的瞬时强一致。凡是要求“任何时刻读到的缓存都必须等于数据库”的场景,正确的做法不是继续加固缓存方案,而是让这类读路径绕过缓存,或者将一致性要求降级到业务可接受的最终一致。它的核心特征不是“用了缓存”,而是缓存与数据库的职责切分方式:读路径由应用代码显式控制,先查缓存,命中则返回,未命中则回源数据库并回填;

2026-11-06 21:04:28 154

原创 Feign 调用文档

2017 年 11 月,Spring Cloud 发布了 spring-cloud-starter-openfeign,集成改名后的 OpenFeign,并增加了对 Spring MVC 注解的支持,使开发者可以用熟悉的 @GetMapping、@PostMapping 声明客户端接口,而不再局限于 Feign 原生注解。你写的是一个带注解的 Java 接口,Feign 通过动态代理把它转换成真实的 HTTP 请求,并完成服务发现、负载均衡、序列化与反序列化。Feign 默认不会自动传播所有请求头。

2026-11-05 08:23:32 112

原创 GitLab 使用说明

revert 保留完整历史,留下明确的"回退提交",审计链完整。cherry-pick 的语义是提取单个(或一组)提交的变更,应用到当前分支,生成新的提交,不携带源分支的其余历史。当目标分支是受保护的 release/* 时,必须使用"创建新 MR"选项,让回移的修复经过与普通变更相同的审查和流水线门禁,而不是直接写入保护分支。GitLab MR 页面提供了"还原"按钮:进入已合并的 MR,在合并者报告区域选择"还原",指定还原分支,并保持"发起新合并请求"选中,让回退本身也走 MR 审查。

2026-11-04 12:37:31 213

原创 Nacos 简单介绍

仍在维护的 1.x 项目,至少要确认 Spring Cloud Alibaba 版本和 Nacos Client 版本没有被列入已知受限列表——例如 Spring Cloud Alibaba 2.2.4/2.2.5 默认依赖受限的 Nacos Client 1.4.1,建议至少升级到 2.2.6.RELEASE 并确保 Nacos Client ≥ 1.4.2。1.x HTTP 短轮询/长轮询为主 服务 Distro(AP),配置 Raft(CP) 连接数多,实时性依赖轮询间隔,配置变更延迟较高。

2026-11-03 15:54:08 562

原创 Spring Cloud Gateway 的技术迭代

官方基准中 RPS 达到 Zuul 1.x 的 1.6 倍,后续第三方测试甚至给出了更高的差距,但真正关键的是线程模型带来的弹性:在响应式模型下,理论上少量线程就能应对极高的并发连接数,避免了阻塞模型中线程池耗尽的系统性风险。但 Spring Cloud 官方始终没有整合 Zuul 2.x,原因既有 Zuul 2 自身代码复杂度和生态兼容性的问题,也有 Spring 社区的战略选择——与其等待一个外部项目的异步重构,不如基于自家的响应式技术栈从头构建。迭代的代价:迁移从来不是无痛的。

2026-11-03 08:20:27 157

原创 Java基础知识全览

Java有8种基本类型:byte(1)、short(2)、int(4)、long(8)、float(4)、double(8)、char(2)、boolean。=)、逻辑(&& ||!流程控制:if-else、switch(JDK 14+支持箭头语法和yield返回值)、for、while、do-while、增强for(for-each)。理解类加载机制(加载→验证→准备→解析→初始化,双亲委派模型)、运行时数据区(堆、栈、方法区、程序计数器、本地方法栈)、垃圾回收(可达性分析、分代收集、G1/ZGC)。

2026-11-02 15:04:03 206

原创 Spring Cloud Gateway 线上问题排查指南

Spring Cloud Gateway 出问题时,最麻烦的是它本身像一个“壳子”:路由匹配、过滤器链、Netty 连接管理都发生在框架内部,业务日志里往往只剩一句 502 或 500。Spring Cloud Gateway 要求 WebFlux 响应式栈,如果 classpath 里混进了 spring-boot-starter-web,应用可能以 SERVLET 模式启动,RouteDefinitionRouteLocator 不会正常装配,路由列表为空,请求直接落到静态处理器。

2026-11-02 14:58:00 417

原创 别再背API了!Java入门真正拉开差距的,是“读懂需求”这四个字

很多Java初学者一入门,疯狂背语法、刷框架、装工具,Spring Boot、MyBatis、Redis、MQ,恨不得三天全拿下。主流程对应Service编排,参数校验放Controller或Validator,异常用统一错误码表达,数据变更考虑事务和幂等,关键操作加日志,权限在入口拦截。我做了多年Java开发,今天必须把这句话拍你脸上:Java入门,先学会“读懂需求”,再动手写代码。先说清楚,“了解需求”不是产品经理巴拉巴拉讲一遍,你点点头说“懂了”,然后转头建表、写Controller。

2026-11-01 13:29:03 369

原创 Spring Cloud Gateway 转发拦截器:配置、逻辑与实战示例

Spring Cloud Gateway 转发拦截器:配置、逻辑与实战示例Spring Cloud Gateway 中所谓的“转发拦截器”,本质上是一组在请求真正转发到下游服务之前或之后执行的过滤器。它们由两类组件承载:可在 YAML 中声明式配置的 GatewayFilter(路由级过滤器与 default-filters),以及必须通过 Java 编程实现的 GlobalFilter(全局过滤器)。本文从配置结构、请求执行逻辑到可落地示例,系统梳理转发拦截器的工作方式与工程要点。

2026-11-01 08:12:53 218

原创 Spring Cloud Gateway 转发拦截器 YAML 详细配置

Spring Cloud Gateway 转发拦截器 YAML 详细配置Spring Cloud Gateway 中所谓“转发拦截器”,主要由 GatewayFilter(路由级过滤器)与 GlobalFilter(全局过滤器)承载。其中,能在 YAML 中直接配置的是 GatewayFilter 以及 default-filters;GlobalFilter 本身是 Java 编程接口,YAML 只能为其提供路由上下文或配合默认过滤器使用。以下从配置结构、参数写法、核心过滤器示例与避坑要点展开。

2026-11-01 07:53:30 263

原创 Spring Cloud Gateway简介

Filter(过滤器) 是请求与响应的处理层,采用“Pre—路由—Post”的两阶段模型:Pre 阶段在转发之前对请求做修改(添加或移除请求头、改写路径、校验令牌等),Post 阶段在下游响应返回之后再次处理(添加响应头、记录耗时、修改状态码等)。内置的 30 余种 GatewayFilter 覆盖了请求头增删、路径重写、前缀裁剪、重试、熔断、限流、令牌中继等常见需求,自定义过滤器则用于实现统一鉴权、访问日志、灰度标记等跨路由逻辑。Route(路由) 是网关的基本单元,定义了“什么样的请求转发到哪里”。

2026-11-01 07:32:56 344

原创 单元测试特例

一、说明对于单元测试,网上有很多的例子这里不加赘述,本文主要说明一种,特殊情况,就是传参时包含两个对象,一个是自定义的类,另一个是String[]。二、具体展示1.Controller层代码public Result insetPerson(@RequestBody Person person, String[] Id){具体内容略}2.测试代码 @Testvoid insertPersonTest() throws Exception{ Person personNew = new Per

2021-05-26 16:04:50 192

原创 SpringBoot项目--yaml文件配置(一)

一、多环境配置及对象赋值1.在resources下创建创建application.yaml文件2.在application.yaml文件添加内容server: port: 8080spring: profiles: active: test---server: port: 8081spring: profiles: devperson: name: test age: 13---server: port: 8082spring: prof

2021-04-30 13:28:43 1285

原创 MySQL优化(一)

MySQL优化(一)一、添加索引1.使用索引可以快速访问数据库表中特定信息(加速检索表中的数据)2.添加的语句1)添加PRIMARY KEY(主键索引)mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column )例:alter table yx_marketing_details add index(id);2)添加UNIQUE(唯一索引)mysql>ALTER TABLE table_name ADD UNIQUE (colum

2021-04-23 17:10:21 184

原创 spring cloud 学习笔记(一)

Spring Cloud 学习笔记(一)一、启动Conful服务现在confulcmd 执行consul agent -dev -ui -node=cy命令访问地址:http://localhost:8500 /ui二、创建项目进行注册1.创建SSM项目2.编写Controller@RestController@RequestMapping(value = “/user”)public class TestController {@GetMapping(value = “/he

2020-12-13 20:37:36 283

原创 华为面试心得

作为一名Java小白,我发现今年的就业并不轻松,不过在AC了华为的第二题后我还是很有幸完成了华为的面试,现在总结一下:1、笔试任何互联网公司都离不开笔试,但是华为的笔试还是不错,不过同时也是自己比较幸运,首先华为笔试分三道编程题,第一题100分,第二题200分,第三题300分。只要获得100分就可以参加面试,我很幸运,因为当时第二题特别简单,我半个小时左右就AC了,但是另外两题难度较大,我并没...

2019-09-24 10:51:37 1460

原创 类加载机制的流程

本篇文章主要介绍一下自己学习《深入了解java虚拟机》第七章虚拟机类的加载机制,并主要参考https://blog.youkuaiyun.com/dd864140130/article/details/49817357主要流程如下1.加载(1)通过类的全限定名来获取定义此类的二进制字节流(2)将这个类字节流代表的静态存储结构转为方法区的运行时数据结构(3)在堆中生成一个代表此类的java.lang...

2019-08-27 22:47:45 185

原创 Java类的初始化

虚拟机4种必须立刻对类进行初始化1.遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类没有进行初始化,则需要触发其初始化。应用场景:使用关键字new实例化对象的时候,读取获设置类的静态字段的时候,以及调用一个静态方法的时候。2.使用java.lang.reflect的方法对类进行反射调用的时候,如果类没有进行初始化,则需要触发其初始化。3....

2019-08-27 14:40:05 207

原创 JVM运行时数据区域

本篇文章主要介绍一下自己学习《深入了解java虚拟机》2.2节运行时数据区域同时本文参考了https://blog.youkuaiyun.com/wanggg2760/article/details/51911952、https://blog.youkuaiyun.com/weixin_41875978/article/details/80704838和本文链接:https://blog.youkuaiyun.com/fhf2424...

2019-08-27 11:19:41 141

转载 新建一个对象时,jvm的内存变化。

对象的创建一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。主要流程如下:类加载检查JVM遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相...

2019-08-25 10:20:59 388

原创 java笔试

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-08-24 10:01:52 187

【大模型训练】基于PyTorch与HuggingFace的LLM预训练与微调全链路实战:从零构建到QLoRA高效适配的技术路径解析

内容概要:本文是一份可落地的大语言模型(LLM)训练实战教程,系统性地回答了“训什么、用什么训、怎么训才不崩”三大核心问题,涵盖从零预训练与微调对齐两条技术路线。详细介绍了环境搭建、模型架构设计、训练流程、分布式策略、显存优化、数据格式要求、训练监控与故障排查,并提供了完整的代码骨架和配置建议。重点包括MiniMind小模型预训练全链路、QLoRA高效微调、DPO对齐优化以及vLLM部署方案,强调通过动手实践建立对LLM训练全过程的深入理解。; 适合人群:具备一定深度学习基础,从事AI研发1-3年,希望掌握大模型训练与微调技术的研发人员或工程师。; 使用场景及目标:①掌握从零构建小规模Transformer模型并完成预训练的技术路径;②基于开源大模型使用QLoRA进行低成本微调以适配业务需求;③实现SFT后对齐优化(如DPO)并完成生产级部署;④解决训练过程中常见的OOM、loss异常等问题。; 阅读建议:此资源注重实战落地,建议读者结合代码逐环节运行调试,优先在单卡环境下复现MiniMind和QLoRA流程,再逐步扩展至多卡和复杂场景,重点关注数据质量、显存控制与训练稳定性之间的平衡。

2026-11-06

【Java开发环境】基于可重复构建的多版本管理与容器化配置:跨平台JDK一致性保障系统设计

内容概要:本文系统阐述了Java环境配置中实现“可重复性”的核心原则与实践方法,涵盖从开发机到CI/CD流水线的全链路一致性保障。重点包括JDK发行版与LTS版本的选择策略、跨平台(Linux/Windows/macOS)的标准化安装与验证方式、利用SDKMAN进行项目级多版本管理、IDE与构建工具(Maven/Gradle)通过toolchain机制解耦构建与运行JDK、容器化中的多阶段构建与JVM容器感知配置,以及GitHub Actions中通过矩阵策略验证多JDK兼容性。文章还提供了详尽的故障排查指南,针对版本不一致、UnsupportedClassVersionError、容器假死等高频问题给出根因分析与解决命令,强调通过代码化声明(如.sdkmanrc、toolchain配置)替代手工环境变量设置,从而实现环境配置的可追溯、可复现和自动化验证。 适合人群:具备Java开发经验,参与项目搭建、持续集成或运维部署的中高级研发工程师、技术负责人及DevOps人员。 使用场景及目标:①建立团队统一的Java开发与构建标准,避免“本地能跑、线上报错”;②实现多项目多JDK版本共存下的高效切换与隔离;③构建可重复、可验证的CI/CD流水线,确保编译、测试、运行环境高度一致;④快速定位并解决因JDK版本错配引发的各类运行时异常。 阅读建议:此资源以“可重复性”为核心理念,不仅提供操作步骤,更强调背后的设计逻辑与最佳实践。建议结合自身项目环境逐步实施,优先引入SDKMAN和构建工具toolchain进行版本声明,并在CI中启用多JDK矩阵测试,同时将文中排查清单纳入日常运维手册,提升问题响应效率。

2026-11-04

软件工程基于分层编排的智能体技能体系设计:Comet框架中调度层与阶段技能协同机制解析

内容概要:本文详细阐述了Comet技能体系的分层编排结构,涵盖调度层、阶段技能、预设技能、工厂技能及其底层运行机制。调度层(/comet和/comet-classic)负责路由请求至不同工作流,其中Classic工作流包含Open、Design、Build、Verify、Archive五个阶段,依赖OpenSpec与Superpowers工具完成需求结构化、技术设计、实现、验证与归档;Native工作流则为自包含路径,通过Shape、Build、Verify、Archive四阶段实现全自主开发,不依赖外部技能。预设技能如/comet-hotfix和/comet-tweak提供快捷路径,但在检测到重大变更时会强制升级至完整流程。工厂技能/comet-any支持创建可复用的新技能。所有技能均通过Node脚本(如comet-state.mjs、comet-guard.mjs等)与Skill Engine的Guardrails进行确定性交互,确保操作合规与状态一致性。; 适合人群:熟悉AI智能体开发、自动化工作流设计的技术人员或研发团队成员,具备一定工程化思维和工具链集成经验者优先; 使用场景及目标:①理解Comet如何通过分层架构实现智能化软件开发流程编排;②掌握各技能模块的功能划分、调用关系与升级机制;③应用于构建高可靠、可追溯的自动化开发系统,提升开发效率与质量管控水平; 阅读建议:建议结合Comet的实际项目配置与运行日志对照学习,重点关注config.yaml、SKILL.md及各类mjs脚本的作用,深入理解意图路由、阶段守卫与确定性交接的设计理念,并通过调试与扩展自定义技能来加深掌握。

2026-11-04

Java架构基于Nginx与Spring Cloud LoadBalancer的负载均衡系统设计:多层级流量分发与高可用实践

内容概要:本文系统讲解了负载均衡在Java架构中的多层次实现与实战配置,重点涵盖入口层(南北向流量)和微服务层(东西向流量)的选型与实践。详细对比了LVS、Nginx、HAProxy在四层与七层负载均衡中的适用场景,并深入剖析Nginx的upstream策略选择、生产级配置、健康检查机制及会话保持方案。在微服务层面,介绍Spring Cloud LoadBalancer与Nacos集成的核心要点,包括依赖排除、加权路由、自定义负载策略的扩展方式。最后列出上线前必须验证的关键检查项,如主动健康检查、会话副作用、超时分层设置和故障切换能力,帮助规避常见生产问题。; 适合人群:具备Java开发基础,熟悉Spring Boot与微服务架构,工作年限1-3年并参与过分布式系统设计或运维的研发人员。; 使用场景及目标:①掌握不同层级负载均衡的技术选型依据;②配置高可用的Nginx反向代理与微服务客户端负载均衡;③实现服务发现与动态权重路由;④预防因配置不当导致的雪崩、连接泄漏或故障转移失败等问题; 阅读建议:此资源强调实战落地,建议结合实际项目同步操作,尤其应动手配置Nginx upstream、验证健康检查行为、模拟故障切换,并在测试环境中实践Spring Cloud LoadBalancer的自定义策略,确保理解每一项配置背后的原理与风险。

2026-11-03

【微服务治理】Nacos 2.3.x生产级部署与故障排查指南:基于Spring Cloud Alibaba的配置中心与注册中心高可用实践

内容概要:本文详细介绍了Nacos 2.3.x版本在生产环境下的部署、集成、日常操作与故障排查方法。重点涵盖单机与集群模式的搭建差异,强调集群必须使用外置MySQL、奇数节点、完整端口开放及时间同步等关键要求;深入讲解Spring Cloud Alibaba与Nacos的版本匹配、配置中心与注册中心的集成方式,明确bootstrap.yml的重要性及dataId拼接规则;并提供灰度发布、历史回滚等配置管理机制。故障排查部分系统梳理了服务注册失败、配置不生效、集群选主异常、鉴权403、实例抖动等常见问题的定位路径,提出“日志→三元组→网络→集群状态”的标准化排查流程。; 适合人群:具备Spring Cloud开发经验、负责微服务架构落地与运维的Java工程师,尤其适用于在生产或预发环境中部署和维护Nacos的技术人员。; 使用场景及目标:①指导正确部署Nacos 2.3.x单机与集群环境,避免常见配置错误;②实现Spring Cloud应用与Nacos配置中心、注册中心的稳定集成;③快速定位和解决Nacos使用过程中出现的服务发现与配置管理问题;④建立标准化的操作与排查流程,提升系统稳定性。; 阅读建议:此文档为实操手册,建议结合实际部署环境边操作边对照,重点关注版本兼容性、配置三元组一致性及网络端口要求,排查问题时严格按照文档提供的顺序进行验证,避免遗漏关键细节。

2026-11-03

【数据转换工具】基于Jackson与POI的JSON转Excel文件转换器:支持嵌套结构扁平化与表头自动生成功能

内容概要:本文提供了一个将JSON数据转换为Excel(.xlsx)文件的Java工具类`JsonToExcel`,通过使用Jackson解析JSON、Apache POI生成Excel文件,实现了JSON对象或数组的扁平化处理并导出为带表头的Excel表格。支持嵌套对象、数组展开、基本数据类型识别与安全数值处理,并自动设置表头样式、列宽自适应及工作表名称合法性校验。代码简洁实用,适用于单次调用或集成到数据导出模块中。; 适合人群:具备Java编程基础,熟悉JSON处理与POI操作的开发人员,尤其是工作中涉及数据导出功能的研发人员(工作1-3年为佳)。; 使用场景及目标:①将接口返回的JSON数据快速导出为可读性强的Excel报表;②处理含有嵌套结构的JSON数据并展平为二维表格;③在后台管理系统中实现灵活的数据导出功能;④学习如何结合Jackson与POI完成实际业务工具开发。; 阅读建议:建议结合项目实践运行示例代码,理解`flatten`递归扁平化逻辑与单元格类型写入机制,注意大数据量下的性能优化与内存管理,可在此基础上扩展多Sheet支持、日期格式化等功能。

2026-11-03

空空如也

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

TA关注的人

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