- 博客(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高效适配的技术路径解析
2026-11-06
【Java开发环境】基于可重复构建的多版本管理与容器化配置:跨平台JDK一致性保障系统设计
2026-11-04
软件工程基于分层编排的智能体技能体系设计:Comet框架中调度层与阶段技能协同机制解析
2026-11-04
Java架构基于Nginx与Spring Cloud LoadBalancer的负载均衡系统设计:多层级流量分发与高可用实践
2026-11-03
【微服务治理】Nacos 2.3.x生产级部署与故障排查指南:基于Spring Cloud Alibaba的配置中心与注册中心高可用实践
2026-11-03
【数据转换工具】基于Jackson与POI的JSON转Excel文件转换器:支持嵌套结构扁平化与表头自动生成功能
2026-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅