创建对象贵吗?Java的 new 性能问题,很多人优化错了方向
写 Java 写久了,几乎每个人都听过一句话:少 new 对象,创建对象很耗性能。这句话不能说全错。但如果把它当成性能优化铁律,很多时候会把人带沟里。因为在现代 HotSpot JVM 里,一个普通小对象的创建,往往没有大家想象中那么贵。
MVEL:被严重低估的Java表达式引擎,动态脚本和规则计算的利器
做过规则引擎、动态计算、模板渲染的都知道,Java 自带的表达式能力太弱了。SpEL 功能强大但太重,OGNL 有安全漏洞,自己写解析器又费时费力。今天给大家介绍一款轻量、高性能的 Java 表达式引擎——MVEL,它几乎能搞定所有动态表达式和脚本执行场景。一、MVEL 是什么?
写了五年 Java,Bean 初始化顺序我一直搞混了
前段时间排查一个诡异的问题:某个 Bean 在 @PostConstruct 方法里依赖另一个 Bean 的属性,结果那个属性还是默认值,等容器完全启动后属性又变正常了。
Spring AI 2.0 Tool Calling 实战:让大模型调用 Java 业务方法
Tool Calling 是 Spring AI 里最容易被低估的能力。它不是“给模型加几个函数”这么简单,而是让大模型从只会聊天,变成能调用订单、库存、知识库、工单、审批等业务能力的智能入口。
单例 Bean 不是线程安全的,很多人不知道
你写了一个 @Service,在里面放了个成员变量存临时数据,开发环境跑得好好的,一上线并发请求多了就开始数据串了——用户 A 看到用户 B 的数据,金额莫名其妙变了。根因很简单:Spring 的单例 Bean 只有一个实例,所有请求共享同一个对象,成员变量就是共享变量。
正确选择对 Lombok 的使用
Lombok 是 Java 开发中一款能显著提升效率的工具,它通过注解自动生成 getter/setter、构造方法等重复代码。本文将从基础入门到高阶实践,帮你全面了解这款工具的优势、潜在风险以及如何在现代 Java 中合理使用它。 一、Lombok 简介:为什么需要它?
第8章:Java 与 Go SDK 接入实战
1. 项目背景某电商公司后端技术栈是 Java(Spring Boot 商品服务)和 Go(搜索网关服务)。第7章我们用 Python 封装了 Repository,但实际生产环境中,Python 主要用于数据分析和 AI 模型,真正的在线服务是 Java 和 Go 写的。