fundamentals
fundamentals/index.md
medium
fundamentals-index
程序员内功维度(规约+决策非八股)— Java/JVM + 前端浏览器/HTTP/构建原理。Use when 做 GC 调优 / 选锁 / 排查线上问题 / 分布式决策 / 前端性能原理决策时。
子项索引
| 子项 | 一句话 |
|---|---|
| jvm folder | JVM 工程决策四件事 — GC 选型 / 堆参数规约 / OOM 排查 / 类加载与 SPI |
| concurrency-internals folder | Java 并发内功四件事(原理服务于选型)— 锁升级指导 synchronized/Lock 选型、volatile 适用边界、CAS 与 LongAdder 计数选型、用 happens-before 判线程安全 |
| collection-internals folder | 集合源码原理服务于实践决策 — HashMap 初始容量、并发 Map 选型、红黑树与负载因子 |
| virtual-threads folder | JDK21 虚拟线程(Project Loom)三件事 — 何时该用/不用、pinning 陷阱、与线程池的关系 |
| troubleshooting folder | Java 线上故障排查四件事 — CPU 飙高 / 内存泄漏 OOM / Arthas 在线诊断 / 按症状分流的决策树 |
| distributed-theory folder | 分布式理论选型四件事 — CAP 取舍(CP/AP)/ 分布式事务方案选型 / 幂等设计 / 分布式 ID 选型 |
| frontend folder | 前端内功维度(写成规约+决策,非八股)— 浏览器渲染 / 事件循环 / HTTP 缓存 / 跨域 / 防抖节流 / 模块化 / 构建 / 状态管理思想 |
Fundamentals · 程序员内功维度
这里是「内功」,但一律写成规约 + 工程决策视角——回答「该怎么选 / 该怎么设 / 出问题怎么办」,而非原理八股。 与
lang/java/和framework/的「用法」互补:那边讲怎么写,这边讲为什么这么选、出问题怎么定位。 性能/量级数字为业界参考,落地需自测。
本层包含
| 名称 | 类型 | 一句话 |
|---|---|---|
| jvm | 文件夹 | GC 选型 / 堆参数 / OOM 排查 / 类加载(4 子项) |
| concurrency-internals | 文件夹 | 锁选型原理 / volatile 边界 / CAS-LongAdder / happens-before(4 子项) |
| collection-internals | 文件夹 | HashMap 容量 / 并发 Map 选型 / 树化(3 子项) |
| virtual-threads | 文件夹 | 虚拟线程何时用 / pinning / 与线程池(3 子项) |
| troubleshooting | 文件夹 | CPU 高 / 内存泄漏 / Arthas / 决策树(4 子项) |
| distributed-theory | 文件夹 | CAP / 分布式事务选型 / 幂等 / 分布式 ID(4 子项) |
| frontend | 文件夹 | 浏览器渲染 / 事件循环 / HTTP 缓存 / 跨域 / 防抖节流 / 模块化 / 构建 / 状态管理思想(8 子项) |
下钻决策表
| 你在做什么 | 进哪个 |
|---|---|
| 调 GC / 设堆参数 / 排查 OOM / 理解类加载 | jvm |
| 纠结 synchronized 还是 Lock、volatile 够不够、用啥计数 | concurrency-internals |
| HashMap 要不要预设容量、并发用哪个 Map | collection-internals |
| 评估要不要上虚拟线程(JDK21) | virtual-threads |
| 线上 CPU 高 / 内存泄漏 / 接口变慢,要定位 | troubleshooting |
| 做分布式事务 / 一致性 / 幂等 / 分布式 ID 方案选型 | distributed-theory |