本文分析了在使用 HSF 服务时,因使用 Java 9 的不可变集合(如 Set.of())作为参数导致服务端反序列化失败的问题。根本原因在于 HSF 默认使用的 Hessian2 序列化机制不支持 Java 默认序列化中通过 writeReplace 和 readResolve 实现的不可变集合序列化逻辑:HSF 仅序列化非 transient 字段,而 CollSer 中存储元素的 array 字段为 transient,未被正确序列化,导致反序列化时 array 为 null,抛出 InvalidObjectException: null array 异常。最终解决方案是避免使用不可变集合,改用可变集合(如 HashSet)。
本文通过分享将AI Agent技术应用于“智能播报助手”和“批量建任务”两个真实业务场景的实践历程,深刻阐述了当下将AI Agent与传统工程系统深度融合,而非追求完全替代,才是实现业务提效和价值落地的有效路径。
最近听了很多大佬的讲座和分享,尤其讲到Why AI Programming First时,许多地方大佬们描述得很到位,但总感觉缺少理论支撑和严谨表述。后来一天夜里,我突然想到这块不就是编译原理中已经讲过的很多形式化定义,我在17年沉迷编译原理并且开源了好几款自己玩的编译器和解释器,而语言的形式化定义早有定义,而这块刚好也是计算机和语言学的交叉部分,在当下这个时代有清晰的认知尤为重要。另外因为涉及编译原理,和一些哲思,可能有一些难懂,已经尽量简化。
本文主要阐述作者通过亲身实践,探索利用AI Agent实现开源应用Helm Chart自动化生成的实践历程。
本文围绕“什么是好代码”展开,作者结合自身职业发展阶段,从初入职场时仅关注完成任务的“黑盒认知”,逐步过渡到深入思考代码质量的多维度评价标准。文章提出,好代码不仅需满足功能需求和稳定性,还应兼顾用户体验、开发效率、可维护性与成本控制,并引用“金码奖”评审标准,从稳定、体验、效率、成本四个维度进行量化分析。作者进一步强调,写好代码需要全局视角,遵循设计原则(如开闭原则)与设计模式(如责任链),避免“坏味道”,同时警惕过度分层和复杂框架对可读性与维护性的负面影响。最终指出,好代码是权衡艺术的体现,其标准随个人成长与团队共识不断演进。
对于老年代的对象,大部分人第一印象是因为多次GC没有被回收所以晋升到老年代的。其实不然,本文对于老年代中发现大量不可达对象深入排查了一下,发现部分高QPS场景下临时对象的提前晋升问题和难以回收的现象。
本文深入探讨了RAG(Retrieval Augmented Generation)技术的实现细节与优化策略,指出在AI应用开发中,RAG常被视为黑盒导致问题定位困难。文章从文档分块(Chunking)、索引增强(语义增强与反向HyDE)、编码(Embedding)、混合检索(Hybrid Search)到重排序(Re-Ranking)等关键环节进行了详细解析,强调需结合具体场景对各模块进行调优,以提升召回率与精确率的平衡,并倡导从快速使用走向深度优化的实践路径。