avatar
文章
148
标签
23
分类
3
首页
归档
标签
分类
留言
关于
Jing's Blog
搜索
首页
归档
标签
分类
留言
关于

Jing's Blog

Stream API 写法和可读性的取舍
发表于2025-04-24|开发调优
这篇我想按“排查记录”来写,主题是 Stream API 写法和可读性的取舍。这种写法比纯概念文更适合我自己回看。 现象先别急着解释让 Stream 服务于清晰的数据转换,而不是炫技。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 短链路适合 Stream 复杂分支考虑普通循环 peek 不适合承载业务副作用 带入一个排查场景把订单列表按状态分组,并写...
Optional 适合解决什么问题
发表于2025-04-17|开发调优
这篇按踩坑笔记来写,因为 Optional 适合解决什么问题 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话用 Optional 表达可能不存在的返回值,而不是替代所有 null。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:重构一个查询用户昵称的方法,让调用方显式处理缺失。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子...
异常处理:不要只会捕获后打印日志
发表于2025-04-12|开发调优
今天不想写长文,先把 异常处理:不要只会捕获后打印日志 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论按可恢复、不可恢复和用户可理解程度处理异常。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 底层保留原因。我现在的理解:先记结论,再回到代码里找一个能验证它的场景。 边界层转换成业务语义。我现...
泛型、通配符和类型擦除整理
发表于2025-04-03|开发调优
今天把 泛型、通配符和类型擦除整理 补成一篇正常一点的学习笔记,不写大而全,就记我这轮最想吃透的部分。 一句话先立住把泛型看成编译期类型约束,而不是运行期魔法。 我这次真正记住的点 extends 适合读取 super 适合写入 类型擦除解释了很多运行期限制 为什么我会专门记这块因为它很容易出现一种错觉:看资料的时候觉得自己会了,真到写接口、改 SQL、配事务、看线程池参数时又开始发虚。 我现在尽量把知识点挂到一个具体场景上:给...
ArrayList 和 LinkedList 不只是查询快慢
发表于2025-03-28|开发调优
今天不想写长文,先把 ArrayList 和 LinkedList 不只是查询快慢 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论结合缓存友好性、遍历方式和插入位置选择集合。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 大多数业务读多写少用 ArrayList。我现在的理解:先记结论,再回到...
equals 和 hashCode 为什么必须一起看
发表于2025-03-28|开发调优
这篇我想按“排查记录”来写,主题是 equals 和 hashCode 为什么必须一起看。这种写法比纯概念文更适合我自己回看。 现象先别急着解释理解对象相等性在集合中的契约。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 equals 相等则 hashCode 必须相等 参与比较的字段应尽量稳定 实体类不要随意把数据库主键和业务唯一键混用 带入一个排查...
HashMap 的底层结构和扩容过程
发表于2025-03-24|开发调优
今天不想写长文,先把 HashMap 的底层结构和扩容过程 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论从数组、链表、红黑树和负载因子理解 HashMap。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 hash 决定桶位置。我现在的理解:先记结论,再回到代码里找一个能验证它的场景。 扩容会...
String、StringBuilder 和字符串常量池复盘
发表于2025-03-16|开发调优
这篇我想按“排查记录”来写,主题是 String、StringBuilder 和字符串常量池复盘。这种写法比纯概念文更适合我自己回看。 现象先别急着解释理解字符串不可变、拼接优化和常量池的边界。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 String 不可变便于共享 循环拼接优先考虑 StringBuilder intern 不是日常业务优化手段 ...
1…171819
avatar
Jing
软件开发工程师,记录技术、项目和排障经验。
文章
148
标签
23
分类
3
最新文章
从一次接口超时看后端排查顺序2026-07-08
日志不是越多越好2026-07-08
接口返回值要为前端留出判断空间2026-07-08
DTO 和 Entity 之间应该有边界2026-07-08
缓存一致性要先讲业务容忍度2026-07-08
分类
  • 开发调优94
  • 技术分享23
  • 杂七杂八31
归档
  • 七月 2026 39
  • 六月 2026 16
  • 五月 2026 6
  • 四月 2026 7
  • 三月 2026 6
  • 二月 2026 4
  • 一月 2026 7
  • 十二月 2025 5
© 2026 By Jing框架 Hexo 7.3.0|主题 Butterfly 5.5.5
保持记录,持续复盘。
搜索
数据加载中