·235 字·2 分钟
Spring AI 初探:Spring 生态的 AI 新成员 # Spring AI 是什么 # Spring 官方终于下场做 AI 框架了。Spring AI 是 Spring 生态里的新成员,目标是让 Java/Spring 开发者能方便地集成各种 AI 能力。
·222 字·2 分钟
LangChain4j 初体验:Java 也能玩 LLM # LangChain4j 是什么 # 说到 AI 开发,大家第一反应都是 Python。LangChain、LlamaIndex 清一色 Python 的。但我主力语言是 Java,难道就只能干看着?
·199 字·1 分钟
Spring Cloud 微服务入门,别被吓到 # 微服务到底是啥 # 第一次听"微服务"这个词的时候,我觉得好高大上。服务注册发现、熔断降级、链路追踪,一堆概念砸过来挺吓人的。但学了之后发现,核心思路其实没那么复杂。
策略模式干掉 if-else,代码瞬间清爽 # if-else 地狱 # 你写过这种代码吗:
MyBatis 一条 SQL 的执行之旅 # 从 Mapper 接口说起 # 用 MyBatis 写代码,日常就是定义一个 Mapper 接口,写个 XML 或注解,然后调用方法就完事了。但你有没有想过,你调 userMapper.selectById(1) 的时候,MyBatis 背后到底干了啥?
·230 字·2 分钟
Stream API 用起来真香,但别乱用 # 自从学了 Stream API,写 Java 的风格变了不少。以前过滤加转换要写十几行 for 循环,现在一行链式搞定,确实香。
但用了一段时间也踩了不少坑,特别是并行流和性能方面,今天来聊聊。
基本操作过一遍 # Stream 操作分两种:中间操作(返回新 Stream,可以链式调用)和终端操作(触发计算,产出结果)。
·269 字·2 分钟
反射慢?慢多少你测过吗 # “反射很慢,尽量别用。“这话你肯定听过。但到底慢多少?慢在哪?大部分人说不清楚,我之前也说不清楚,干脆自己测了一下。
怎么获取 Class 对象 # 反射的入口是 Class 对象,三种方式:
·278 字·2 分钟
Spring Boot 自动配置,看完你就不慌了 # 用 Spring Boot 写项目的时候,你有没有想过:我就加了个 spring-boot-starter-web 依赖,Tomcat 怎么就自己跑起来了?数据源我就配了个 URL,连接池怎么就自动用上 HikariCP 了?
这背后全是自动配置在搞事情。
@SpringBootApplication 背后藏了什么 # 启动类上那个 @SpringBootApplication,其实是个组合注解:
·301 字·2 分钟
Java 泛型这几个坑你肯定踩过 # Java 泛型这东西,看着简单用着顺手,直到踩坑才发现自己根本没搞懂。上周写作业一个泛型编译错误折腾了我一个多小时,气得把泛型重新学了一遍。
类型擦除到底擦了啥 # Java 的泛型是假泛型。编译之后泛型信息就没了,全变成 Object(或上界类型),这叫类型擦除。
volatile 到底能保证什么 # Java 内存模型简单说 # 聊 volatile 之前,得先说说 Java 内存模型(JMM)。放心,不讲太深,够理解 volatile 就行。