十大经典算法之插入排序
思想:将未排序元素逐个插入到已排序序列的正确位置(类似打牌理牌)。
SpringBoot+Vue 主子表代码生成:一张单据和多行明细怎样一起落库
SpringBoot+Vue3 主子表代码生成:一张单据和多行明细怎样一起落库?采购员看到的是“一张订单”:上面选供应商,下面填物品、数量和单价,最后点一次保存。数据库看到的却是主表的一条记录,以及明细表里的多条记录。
AI 会写 Java 等后端代码后,什么样的技术内容还值得看
Java 教程正在失去流量,工程经验为什么反而更值钱Java 教程的流量下降,不一定说明 Java 没人学了。更可能的原因是,过去需要搜索十几分钟、阅读三四篇文章才能解决的问题,现在问一次 AI,几十秒就能拿到答案。
一次 Dubbo 异步调用线上事故,我用 jstack + Arthas 锁定了真凶
场景:Dubbo 消费端配置 async=true 异步调用,通过 RpcContext.getFuture() 拿到 CompletableFuture 注册 whenComplete 回调,但回调始终不执行。
2026年,我劝你重新认识BlockCanary:那个被“用错”的卡顿神器
你打开App,滑动列表。手指动了,屏幕没动。0.3秒后,界面猛地一跳。用户骂了句“卡死了”,卸载。你打开日志,一片空白。你不知道刚才那0.3秒里,主线程到底在干什么。这就是Android开发的日常。而BlockCanary,就是专门用来回答这个问题的那把刀。
线上服务每天卡30秒,GC日志里藏着一个被忽略的危险信号
一个交易系统的开发团队,被一个诡异的问题折磨了整整一周。每天下午三四点,服务就会突然卡住,持续大约30秒。这段时间内,所有接口超时,网关报502,前端页面转圈。客户投诉电话打爆了,但等他们跑到服务器上一看——CPU正常,内存正常,线程池正常。重启服务就好了。
单Redis撑不住千万排名?分桶+异步写+本地缓存一把梭
适用场景:积分榜、签到榜、游戏战力榜、电商任务榜、日/周/月活排名等需要“分数实时变、排名秒级查、TopN 高频拉”的系统。1. 需求拆解与复杂度基线排行榜本质只解决三件事:写:用户分数变更(加/减/覆盖),高并发下可能突发。查排名:给定用户 ID,返回其全局/分榜名次。
SpringBoot集成LiteFlow:轻量、快速、稳定可编排的规则引擎
业务代码越写越乱,改阈值就全量回归,LiteFlow怎么破。我之前维护过一个下单校验方法,几百行全是if-else,改个阈值就要全量回归。后来用SpringBoot集成LiteFlow,把判断拆成组件,再用规则串起来,改流程不用动Java代码。下面说说怎么做到的。
Spring Bean 完整生命周期详解
## Spring Bean 完整生命周期详解### 一、Bean 生命周期的完整阶段Spring Bean 的完整生命周期可以概括为 **四个核心阶段**:**实例化 → 属性注入 → 初始化 → 销毁**。每个阶段都提供了扩展点,允许开发者插入自定义逻辑。
从频繁死锁到系统稳如泰山,synchronized 的坑我全踩了一遍
搞 Java 后端八年,synchronized 是我最早学会的并发工具,也是让我栽过最多跟头的。你以为加个 synchronized 就完事了?Too young。锁粒度不对、锁范围太大、锁的对象选错了——每一个坑我都用加班换过。