Java 21 集合框架详解:常用集合、底层原理与选型
在 Java 后端开发中,集合几乎无处不在:查询结果通常放在 List 中,缓存和对象索引经常使用 Map,去重会使用 Set,任务调度和生产者—消费者模型则离不开队列。 集合类的难点并不只是记住 API。真正重要的是理解不同集合的底层结构、时间复杂度、线程安全特性和适用场景。本文以 Java 21 为版本基准,重点整…
阅读全文这里是 Guailper 的数字笔记本,记录 AI、后端与计算机基础的学习路径。
喜欢在代码与文字之间寻找秩序,在思考与实践中连接知识与世界。
LATEST NOTES
在 Java 后端开发中,集合几乎无处不在:查询结果通常放在 List 中,缓存和对象索引经常使用 Map,去重会使用 Set,任务调度和生产者—消费者模型则离不开队列。 集合类的难点并不只是记住 API。真正重要的是理解不同集合的底层结构、时间复杂度、线程安全特性和适用场景。本文以 Java 21 为版本基准,重点整…
阅读全文Redis 和 MySQL 经常一起出现在后端面试中:MySQL 负责可靠持久化和复杂查询,Redis 负责缓存、计数、排序、限流等高频访问场景。面试官通常会从单个知识点继续追问到缓存一致性、并发控制和故障恢复。本文将两者分开讲解,再通过综合场景串联起来。 一、Redis1. Redis 为什么性能高?Redis 的数…
阅读全文Java 后端面试通常不会只考察 API 是否熟悉,还会继续追问底层原理、并发安全、线上问题排查和系统设计。本文按照“基础知识 → 并发编程 → JVM → Spring → Web 与场景题”的顺序整理,适合作为面试前的复习清单。 一、面试答题思路遇到原理题时,可以按照下面的顺序组织答案: 先给出结论,避免一开始就…
阅读全文Java 线程池拒绝策略 AbortPolicy:拒绝处理新任务并抛出RejectExecutionException CallerRunPolicy:调用 执行execute()方法的线程 来运行被拒绝的新任务。 DiscardPolicy:不处理新任务,直接丢弃 DiscardOldestPolicy:丢弃最早未被…
阅读全文操作系统内存管理方式:从连续分配到虚拟内存内存管理是操作系统里非常核心的一部分。程序运行时,指令和数据都要放到内存中,CPU 才能不断取指、执行、读写数据。如果没有操作系统的管理,多个进程会很容易互相覆盖内存,程序也必须直接面对复杂的物理地址。 所以,内存管理要解决的不只是“把内存分给程序”这么简单。它还要负责地址转换…
阅读全文说明:本文基于 Anthropic Engineering 的文章 Demystifying evals for AI agents 做中文译述与学习整理,并非逐字全译。原文发布于 2026-01-09,作者为 Mikaela Grace、Jeremy Hadfield、Rodrigo Olivares、Jiri D…
阅读全文文章定位这篇文章面向已经了解大模型、Agent、RAG 基础概念的开发者。它想讨论的问题不是“怎么写出一个更漂亮的 Prompt”,而是 AI 应用在真正落地时,为什么会从提示工程逐渐走向上下文工程,再进一步走向 Harness 工程。 我的理解是:提示工程解决的是“怎么问”的问题,上下文工程解决的是“给模型什么信息”…
阅读全文概述Agent 的能力上限不只取决于模型,也取决于每次调用模型时,我们给了它什么上下文。 早期做大模型应用时,很多工作集中在提示词工程:怎么写 system prompt、怎么约束输出格式、怎么给 few-shot 示例。但 Agent 不是一次性问答,它会持续读取资料、调用工具、写代码、运行命令、处理错误、更新计划。…
阅读全文