damien@dev ~ $ cat MeaningOfLife.java
public class MeaningOfLife {
static long depth = 0;
static int attempt = 0;
static String meaningOfLife() {
depth++;
return meaningOfLife();
}
static void retry() {
System.out.println("attempt " + attempt++ + " died at depth " + depth);
depth = 0;
main(null);
}
public static void main(String[] args) {
try {
System.out.println(meaningOfLife());
} catch (StackOverflowError e) {
retry();
}
}
}
damien@dev ~ $ javac MeaningOfLife.java && java MeaningOfLife
attempt 0 died at depth 11422
attempt 1 died at depth 11422
attempt 2 died at depth 11422
Exception in thread "main" java.lang.StackOverflowError
at MeaningOfLife.retry(MeaningOfLife.java:16)
damien@dev ~ $ echo $GOAL
building things that work_
南京工程学院网络工程专业在读。日常写 Java 后端,也在补 AI 应用这一块。比起学了多少框架,更在意一件事:拿到一个陌生的系统,能不能自己把它跑起来、拆开看明白。
模块化单体商城,我负责高并发秒杀与 AI 混合搜索两个核心模块。秒杀用 Redis Lua 脚本在缓存内一次完成时间校验、用户去重与库存预扣,成功后投递 RocketMQ 异步下单,接口不必等待数据库事务;防超卖靠条件更新、防重复下单靠唯一索引,延迟消息到期关单并回补库存。搜索侧把商品文本向量化存入 Elasticsearch,BM25 关键词召回与 kNN 语义召回并行,再用 RRF 融合排序。
电商售后问答 Agent,核心是 LLM Wiki 快通道 + RAG 慢通道的双通道设计。用户点开售后页时走快通道,直接返回候选答案,零模型调用、零向量检索;自由提问才走 RAG,BM25 与向量混合召回、RRF 融合、带引用生成,召回分数不足就拒答。配套做了分层归因与回归门禁的评测体系,防止改动把效果改坏。
南京工程学院