Skip to content

ypyang-code/backend-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Backend-Notes (后端技术栈深化与核心沉淀)

本项目用于记录在 Java 后端长期发展、项目实战演练以及死磕底层源码过程中的高质量技术笔记与踩坑沉淀。拒绝流于表面的“八股文”,专注于高并发、分布式、存储优化与工程落地的深度思考。


🌐 1. 项目专项深化笔记 (简历核心攻关记录)

针对简历主打亮点项目进行的底层源码死磕与工业级方案设计。通过真实的工程痛点去驱动底层沉淀,建立面试级的话语体系。

📁 smart-file-processor-notes (智能文件处理系统解析)

  • 📄 01-架构设计与环境搭建

    • 💡 核心硬核沉淀:深入拆解传统单机大文件上传导致服务器 内存撑爆 (OOM) 的痛点;基于 Docker-Compose 实现了异构基础设施(MySQL 8.0 + Redis 7.0)的一键开发环境编排。
    • 🛠️ 元数据灵魂设计:针对文件与分片,对 file_md5 建立了全局唯一索引,为底层“全局动态秒传”和“软链接共享存储”提供了坚实的数据库元数据支撑。
  • 📄 02-大文件分片机制与断点续传设计

    • 💡 核心硬核沉淀:深入拆解了大文件通过前端 Blob.slice() 切片后,并发上传至后端的落盘状态机流程,通过 RandomAccessFile 零二次合并开销直接写入。
    • 🧠 Redis 高级数据结构选型:深度对比了 Bitmap 与 Set(集合) 的优劣。最终选用 Redis Set 存储已成功落盘的 chunkNumber。不仅利用 SADD 实现了 $O(1)$ 复杂度的动态进度追加,还通过 SMEMBERS 支撑了预检接口(Check-API)的秒级断点续传闪复
    • ⚠️ 高并发突击思考:深入思考了多线程并发到达时,如何利用 Redis 分布式锁 (SETNX) 解决重复合并与文件损坏问题,以及深夜 Cron 定时任务清理残留报废分片的磁盘 IO 优化。

📚 2. 后端核心技术栈 (持续更新中)

围绕大厂面试高频基础,拒绝浅尝辄止,死磕底层源码与调优实践。

☕ Java 核心与高并发 (JUC)

  • 📁 java-base —— 核心集合(HashMap/ConcurrentHashMap)源码剖析、JVM 垃圾回收调优。
  • 📁 java-juc —— AQS 独占/共享锁机制、自定义线程池核心参数合理化调优。

💾 存储层深度治理 (MySQL & Redis)

  • 📁 database-mysql —— B+ Tree 索引组织表底层原理、执行计划(Explain)分析、慢 SQL 治理、MVCC 并发控制。
  • 📁 cache-redis —— 穿透/击穿/雪崩生产级解决方案、分布式锁演进、哨兵与 Cluster 高可用架构。

🔀 分布式与微服务中间件

  • 📁 middleware-mq —— RabbitMQ 消息可靠性投递(Confirm/Return 机制)、死信队列(DLX)延时任务落地。

🧮 数据结构与算法 (LeetCode 刷题打卡)


✍️ 3. 技术博客 (已发表硬核文章)

这里记录了我沉淀并分享到技术社区的高质量文章,欢迎交流探讨!


🚀 仓库更新日志

  • 2026.07:完成 smart-file-processor-notes 模块,产出大文件分片、断点续传状态机以及高并发防合并冲突的硬核技术博客。

About

Java后端学习笔记&项目复盘

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors