# Weekly-Tech-Blog **Repository Path**: Jackie51/weekly-tech-blog ## Basic Information - **Project Name**: Weekly-Tech-Blog - **Description**: 每周一篇,宁缺毋滥。聚焦工作中真实、高频、能立刻落地的 Java 后端场景, 拒绝空谈概念和面试八股,每篇文章都配套一个「clone 即可运行」的完整源码工程。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-14 - **Last Updated**: 2026-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Weekly-Tech-Blog · 配套源码 Java / Spring Boot 技术实战文章的**可运行配套源码**。每个子目录是一个独立工程,含 README 启动说明。 ## 分区说明 | 目录 | 对应平台 / 专题 | |------|----------------| | `samples/` | 头条号合集《能跑起来的 Java 实战》(周二主文 + 周五加餐) | | `juejin/` | 稀土掘金专题(**仅在掘金首发**),与 `samples/` 相互独立 | ## 环境要求 - JDK 17+ - Maven 3.6+ - 默认零外部依赖(如需 Redis 等中间件,会在对应工程 README 中说明) ## 运行方式 进入对应工程目录,执行: ```bash mvn spring-boot:run ``` ## samples/(头条合集) | 目录 | 主题 | 关键技术 | |------|------|----------| | `samples/easyexcel-batch` | 百万数据 Excel 导入导出不 OOM | Spring Boot 3、EasyExcel、流式分批、游标分页、H2 | | `samples/idempotent-demo` | 接口幂等的 4 种方案 | 自定义注解 + AOP、SpEL、Redis SETNX、Token、唯一索引、状态机 | | `samples/websocket-chat` | 实时聊天室(群发/私聊/在线人数/心跳) | Spring WebSocket、STOMP、SockJS、SimpUserRegistry、点对点消息 | | `samples/ws-heartbeat-pitfall` | 心跳必须配 TaskScheduler 的最小复现 | spring-boot-starter-websocket、SimpleBroker、条件开关复现报错 | | `samples/ratelimit-demo` | 接口限流:固定窗口/滑动窗口/令牌桶 | 自定义注解 + AOP、SpEL 业务键、429、可插拔算法 | | `samples/strategy-pay` | 策略模式+工厂消除支付 if-else | 策略接口、Spring 注入 List、EnumMap 工厂、开闭原则 | | `samples/completablefuture-aggregate` | CompletableFuture 并行聚合订单详情 | supplyAsync、独立线程池、allOf 超时、getNow 降级 | | `samples/spring-event-order` | Spring 事件机制解耦下单后动作 | ApplicationEvent、@EventListener、@Async、条件监听、同步/异步对比 | | `samples/cache-protection` | 缓存穿透/击穿/雪崩三种防护(零依赖可跑) | 空值缓存、布隆过滤器思路、per-key 互斥锁双重检查、TTL 随机抖动 | ## juejin/(稀土掘金专题) > 对应文章只在稀土掘金发布。工程持续补充中。