首页 文章 精选 留言 我的

文章列表

共 212585 篇
别再让对象互相“串门”了:迪米特法则在 Java 设计中的破局之道

别再让对象互相“串门”了:迪米特法则在 Java 设计中的破局之道

一个订单服务里,一行代码安静地躺着:order.getCustomer().getAddress().getCity()。它不报错、不打日志,甚至单测也能过。可当用户中心、地址库、订单表任意一方调整结构,这行代码就像一根被抽掉线头的毛衣,整个订单、支付、物流模块开始连锁报空指针。我是老李,在 Java 服务端摸爬滚打多年,见过太多因为对象之间‘太熟’而崩掉的...

合成聚合复用原则:为什么你总把继承用成灾难,却不肯多用组合?

合成聚合复用原则:为什么你总把继承用成灾难,却不肯多用组合?

最近又在评审代码时看到一种熟悉的味道:一个 BaseDao 被十几个子类继承,子类为了复用父类一个查询方法,被迫把连接管理、异常处理、日志打印全部继承下来;改一下父类的关闭连接逻辑,下游三个服务同时报错。我是老李。今天借这个场景,聊一个很基础但总被忽略的原则——合成聚合复用原则。为什么现在要讲?因为系统越拆越细,业务变化越来越快,用继承偷来的复用,最后都会变...

改一行老代码,赔上整个模块?开放封闭原则在 Java 里的正确打开方式

改一行老代码,赔上整个模块?开放封闭原则在 Java 里的正确打开方式

最近团队复盘了一个线上事故,起因是一名同事给支付模块加“组合支付”,只在一个老方法里加了一个分支判断,结果原先稳定的单渠道支付开始偶发对账不平。我是老李,做 Java 后端十多年,这类问题见过很多。真正的原因不是同事粗心,而是那段代码从设计上就没有给变化留出位置。今天聊开放封闭原则。

依赖倒转原则:Java 代码从牵一发动全身到抽象定乾坤

依赖倒转原则:Java 代码从牵一发动全身到抽象定乾坤

上周一个看似无害的邮件发送模块调整,让订单服务整个没跑起来。这不是运气差,是依赖方向出了问题。我是老李,今天聊聊设计模式里的依赖倒转原则。很多人一听就想到接口,但真到写代码时还是高层直接抓着低层实现不放。为什么现在要讲?因为系统越复杂,依赖方向的错误代价越大,早改早轻松。

一个类只干一件事:单一职责原则如何避免订单模块连环事故

一个类只干一件事:单一职责原则如何避免订单模块连环事故

上个月,一个订单模块出了生产事故:运营改了一条满减规则,结果用户下单后收到的短信模板变成了测试文案。排查半天,问题不在短信服务,而在订单类里塞了参数校验、库存扣减、优惠计算和结果通知四件事。我是老李,做后端和架构有些年头,这种“一个类扛起一条流水线”的写法,几乎每个团队都踩过。

Schema标记对GEO的加成:让AI秒懂你的网页

Schema标记对GEO的加成:让AI秒懂你的网页

很多人不太明白为什么自己提交的内容,AI不给权重,不给结果,很大程度上取决于你有没有告诉它,这段文字到底是什么意思。这就是Schema标记要解决的事情。你把网页内容用它能看懂的方式标注清楚,它才会在回答用户问题的时候,想起你、引用你、把你的内容放进答案里。今天这篇文章我想跟你聊清楚,Schema标记到底怎么帮GEO(也就是让AI更容易发现和引用你的内容)加分...

企业资产管理数字化落地:从台账混乱到全生命周期闭环实践

企业资产管理数字化落地:从台账混乱到全生命周期闭环实践

对于中大型企业、集团分支机构以及机房运维场景,资产管理的复杂度会随着资产数量增长成倍提升。不少团队最初简单认为资产管理就是做一套电子台账,完成资产信息录入就算完工,但上线运行一段时间后,系统逐渐沦为静态表格,无法支撑真实业务流转。首先是数据碎片化与账实不符问题。办公电脑、服务器、网络设备、机房硬件、办公耗材分属行政、IT、采购、财务多个部门管理,各部门维护独...

连服务器时少开两个工具:Xterminal 把终端、文件和状态接成了一条线

连服务器时少开两个工具:Xterminal 把终端、文件和状态接成了一条线

刚连上测试服务器,终端里还停着日志,下一秒要上传配置,再下一秒又想确认内存是不是突然涨了。很多人的桌面会立刻散开:SSH 客户端一个窗口,文件传输工具一个窗口,系统状态靠第三个命令或页面。Xterminal 在这里带来的好处很具体,它让终端、图形化 SFTP 和服务器监控留在同一个 SSH 工作区。省下的并非几次点击,而是每次切走以后重新确认“我在哪台机器、...

GEO 托管服务选型:用一套可审计的数据模型区分服务商能力边界

GEO 托管服务选型:用一套可审计的数据模型区分服务商能力边界

企业采购 GEO(Generative Engine Optimization,生成式引擎优化)托管服务时,真正要解决的工程问题不是“哪家听起来更专业”,而是:在品牌官网、第三方信源、内容资产和 AI 搜索结果持续变化的条件下,服务商能否把“AI 可见度”变成可采集、可归因、可复测的系统。本文把迪普智见(DeepIntelli)的实践,与外部 AI 平台返回...

测试团队和开发团队的AI能力差距:谁应该先补齐

测试团队和开发团队的AI能力差距:谁应该先补齐

某团队引入AI辅助编码工具半年后,研发侧的PR提交量涨到了原来的将近三倍,需求排期评审时产品经理也默认"现在写代码快多了,能不能把这个迭代的功能再加一个"。测试团队的人力和方法却没有同步变化,还是按老节奏设计用例、执行回归。结果是每个迭代临近上线前,测试团队都要在同样的时间窗口里,消化比过去多两三倍的待测功能——用例设计被迫简化,很多本该覆盖的分支场景因为"...

金发〔2026〕8号文32条要求怎么落地?一文梳理金融机构AI治理6项工程路线图

金发〔2026〕8号文32条要求怎么落地?一文梳理金融机构AI治理6项工程路线图

一句话总结:8号文不是“管死AI”,而是“管好AI”——从董事会到研发岗,人人有责;从模型上线到审计闭环,步步留痕。随着金融科技监管日益深化,金发〔2026〕8号文对金融机构AI应用提出了前所未有的合规要求。文件核心精神可概括为四个字:“必须负责”。这意味着——从战略决策到一线编码,每一个环节都不能掉链子。今天,我们进行的专业解读,将8号文的32条要求转化为...

提升76%的关键-在ModelMapper中实现性能提升的几种方法

提升76%的关键-在ModelMapper中实现性能提升的几种方法

关于在Java当中把HashMap键值属性转换成JavaBean的关键技术有很多实现方式,在之前的博客中介绍了一种实现方式在Java中使用ModelMapper简化Shapefile属性转JavaBean实战。博客仅介绍了ModelMapper这个框架,它本身是通过对象的反射来进行属性的绑定和赋值的。因此属性的对应寻找上就会耗费一定的时间。后面有朋友联系,说...

于SpingBoot和PostGIS的神奇北纬30度线及其穿越国家时空可视化基

于SpingBoot和PostGIS的神奇北纬30度线及其穿越国家时空可视化基

北纬30度纬线,一条神秘而又奇特的纬线,它贯穿了四大文明古国,串联了众多世界知名的历史古迹和自然景观。这条纬线附近有着许多至今无法解释的神秘事件,以及令人叹为观止的自然奇观。首先,北纬30度线穿过了古埃及、古巴比伦、古印度和中国这四大文明古国。这些地区不仅是人类文明的摇篮,也是众多历史奇迹的发源地。例如,古埃及的金字塔群和狮身人面像,古巴比伦的“空中花园”,...

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册