年初做技术盘点:Java 的启动性能和 AOT,现在到哪一步了 每年一月我会花几天时间把 Java 生态的重点项目过一遍,看看有哪些东西从「观望」变成了「可以用」。今年重点看了三块:Leyden 的进展、AOT 生态的成熟度、以及启动性能的现状。 结论先说:JDK 25 这一代,启动性能有了不需要改
给公司内部的 CMDB 写了个 MCP Server 八月份我们决定把内部 CMDB、发布系统、监控平台接进 Agent。一开始想的是直接写 Function Calling,写了两周发现每个 Agent 框架(我们内部有 Spring AI 和 LangChain4j 两套)都要实现一遍,工具定义
冷启动 4.2 秒,函数计算按毫秒计费 我们有一部分服务跑在函数计算上(内部 FaaS 平台),按实际运行时间计费。其中一个是文档解析入口,Spring Boot 3.5 应用,冷启动实测 4.2 秒——也就是说每次冷启动,用户先付 4.2 秒的钱,其中真正干活的只有不到 1 秒。 去年我们试过 G
组里的实习生问我"Java 是不是没前途了" 2025 年春节后回来的第一周,组里新来的实习生私下问我:"现在 AI 不都是 Python 写的吗,我学 Java 是不是选错方向了?" 这话我没法用一句"不会"糊弄过去,因为他说的是事实的一部分——过去两年所有模型层的创新确实都在 Python 生态
做聚合服务时,要并发调三个下游再合并结果。最早我用 ExecutorService + Future,取消一个、异常处理、超时控制写得一团乱,线程泄漏还出了两次线上问题。JDK 23 的结构化并发(第五次预览,JEP 480)把这套"多任务协同"重新规范了一遍,值得认真看。 旧写法的乱 经典 Fut
JDK 21 预览、JDK 22 二次预览的"字符串模板"(String Templates,JEP 430 / JEP 459),原本被寄望取代丑陋的 String.format 和拼接。结果后来被正式撤回。作为一个写了七年后端的人,我反而觉得这次"撤回"是语言演进里难得的清醒。 它想解决什么 传
问题代码:第一版大模型调用把线程池打满了 四月我们想给工单系统接一个大模型做自动摘要。第一版我图省事,用 RestTemplate 直接 POST 到 OpenAI 兼容接口,同步等返回。压测一上来就出问题:模型平均响应 3 秒,线程池 200 个线程 10 秒就被占满,QPS 卡在 60 上不去。
Hello Halo 如果你看到了这一篇文章,那么证明你已经安装成功了,感谢使用 Halo 进行创作,希望能够使用愉快。 关于 Halo Halo 是一个现代化的开源博客系统,专注于提供优秀的写作体验。 特色功能 🎨 现代化的编辑界面 📱 响应式设计 🔌 丰富的插件生态 🌍 多语言支持 🚀