advanced-java (互联网 Java 工程师进阶知识完全扫盲)
教育与学习数据分析与数据处理网络与基础设施
advanced-javadistributed-search-enginedistributed-systemsdoocsdubboelasticsearch
79,172
Stars
19,101
Forks
2,526
Watchers
1
Open Issues
CC-BY-SA-4.0
许可证
Java
语言
2018-10-06
创建时间
2026-10-19
最近更新
项目能做什么
互联网 Java 工程师进阶知识完全扫盲,涵盖高并发、分布式、高可用、微服务及海量数据处理等面试内容。
来源:基于仓库元数据
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
项目简介
doocs/advanced-java 是一个面向互联网 Java 后端工程师的进阶知识扫盲与面试复习指南。该项目知识整理自中华石杉,系统梳理了后端开发在中高级进阶过程中必须掌握的核心知识体系,以成体系的技术问答形式帮助开发者查漏补缺。
核心功能
- 高并发架构知识:涵盖消息队列(Kafka、ActiveMQ、RabbitMQ、RocketMQ 的选型、高可用、幂等性、消息丢失与顺序性保证)、搜索引擎(Elasticsearch 架构与优化)、缓存(Redis 数据类型、单线程模型、持久化、主从哨兵与集群、缓存雪崩/穿透/击穿、双写一致性)、分库分表(水平/垂直拆分、动态扩缩容、全局 ID)及 MySQL 读写分离。
- 分布式系统设计:包括系统拆分策略、分布式服务框架(Dubbo 原理、序列化、负载均衡、SPI 思想、RPC 设计)、CAP 定理、分布式锁(基于 Redis / Zookeeper 实现)以及接口幂等与调用顺序保障。
- 高可用架构与微服务:涵盖高可用系统设计、微服务架构以及海量数据处理等领域知识(注:部分章节内容在原文中未完整展开)。
适合谁用
- 正在准备中高级 Java 后端开发面试、笔试的求职者。
- 希望系统扫盲并深入掌握高并发、分布式、高可用架构设计方案的在职工程师。
安装步骤
本项目为纯技术知识文档仓库,不包含可执行软件或工程源码安装包。此部分原文未说明,请查看原仓库。
如需离线阅读,可直接克隆仓库:
git clone https://github.com/doocs/advanced-java.git
配置说明
此部分原文未说明,请查看原仓库。(该仓库为 Markdown 文档集合,无需额外运行配置,直接阅读各章节文档即可。)
常见问题
- 如何参与技术讨论或交流? 项目作者欢迎开发者前往 GitHub Discussions 讨论区分享实践经验与想法。
- 是否有算法相关的学习资源?
项目组织方另外维护了针对笔试面试算法的仓库:
doocs/leetcode。
原始 README 摘录(英文原文,节选前 3000 字符)
# 互联网 Java 工程师进阶知识完全扫盲 [](https://github.com/doocs/advanced-java/stargazers) [](https://github.com/doocs/advanced-java/network/members) [](./LICENSE) [](https://doocs.github.io/#/?id=how-to-join) 本项目大部分内容来自中华石杉,版权归作者所有,内容涵盖[高并发](#高并发架构)、[分布式](#分布式系统)、[高可用](#高可用架构)、[微服务](#微服务架构)、[海量数据处理](#海量数据处理)等领域知识。我们对这部分知识做了一个系统的整理,方便读者们学习查阅。 我们也在全力更新算法项目!如果你在准备笔面试算法,或者想进一步提升 coding 能力,欢迎 Star 关注 [doocs/leetcode](https://github.com/doocs/leetcode) 学习本项目之前,先来看看 [Discussions 讨论区](https://github.com/doocs/advanced-java/discussions/9)的技术面试官是怎么说的吧。本项目欢迎各位开发者朋友到 Discussions 讨论区分享自己的一些想法和实践经验。也不妨 Star 关注 [doocs/advanced-java](https://github.com/doocs/advanced-java),随时追踪项目最新动态。 ## 高并发架构 ### [消息队列](/docs/high-concurrency/mq-interview.md) - [为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?](/docs/high-concurrency/why-mq.md) - [如何保证消息队列的高可用?](/docs/high-concurrency/how-to-ensure-high-availability-of-message-queues.md) - [如何保证消息不被重复消费?(如何保证消息消费的幂等性)](/docs/high-concurrency/how-to-ensure-that-messages-are-not-repeatedly-consumed.md) - [如何保证消息的可靠性传输?(如何处理消息丢失的问题)](/docs/high-concurrency/how-to-ensure-the-reliable-transmission-of-messages.md) - [如何保证消息的顺序性?](/docs/high-concurrency/how-to-ensure-the-order-of-messages.md) - [如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?](/docs/high-concurrency/mq-time-delay-and-expired-failure.md) - [如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路。](/docs/high-concurrency/mq-design.md) ### [搜索引擎](/docs/high-concurrency/es-introduction.md) - [ES 的分布式架构原理能说一下么(ES 是如何实现分布式的啊)?](/docs/high-concurrency/es-architecture.md) - [ES 写入数据的工作原理是什么啊?ES 查询数据的工作原理是什么啊?底层的 Lucene 介绍一下呗?倒排索引了解吗?](/docs/high-concurrency/es-write-query-search.md) - [ES 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?](/docs/high-concurrency/es-optimizing-query-performance.md) - [ES 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?](/docs/high-concurrency/es-production-cluster.md) ### 缓存 - [在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?](/docs/high-concurrency/why-cache.md) - [Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多?](/docs/high-concurrency/redis-single-thread-model.md) - [Redis 都有哪些数据类型?分别在哪些场景下使用比较合适?](/docs/high-concurrency/redis-data-types.md) - [Redis 的过期策略都有哪些?手写一下 LRU 代码实现?](/docs/high-concurrency/redis-expiration-policies-and-lru.md) - [如何保证 Redis 高并发、高可用?Redis 的主从复制原理能介绍一下么?Redis 的哨兵原理能介绍一下么?](/docs/high-concurrency/how-to-ensure-high-concurrency-and-high-availability-of-redis.md) - [Redis 主从架构是怎样的?](/docs/hig阅读完整原文
项目深度分析 规则生成(AI 未配置)
综合评分 56.0 分。该项目在“个人可实施性”维度得 32 分,“付费可能性”维度得 40.0 分,差异化空间 70.0 分(评分依据见评分卡)。
将 advanced-java 改造为垂直场景 SaaS
| 产品构想 | 保留核心能力,针对某一类用户(如某行业团队)做托管版,收取月费。 |
| 目标用户 | 有该需求的中小团队 / 独立站长 |
| 难度/周期 | 较高 · 2~4 周(MVP) |
| 收费模式 | 订阅制(如 ¥29~99/月) |
| 竞争风险 | 需验证付费意愿;注意许可证合规 |
| 依据 | 数据支持的判断:许可证与关键词显示存在商用与付费场景 |
面向细分需求的二次开发产品
| 产品构想 | 基于 advanced-java 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。 |
| 目标用户 | 该细分场景用户 |
| 难度/周期 | 中 · 2~6 周 |
| 收费模式 | 买断制 / 订阅制 / 广告 |
| 竞争风险 | 细分需求规模需验证 |
| 依据 | AI 推测:基于项目主题标签的判断 |
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| javaparser/javaparser | 支持 Java 1-25 的语法解析器与抽象语法树工具,具备高级分析功能。 | 6,176 | Java |
| shishan100/Java-Interview-Advanced | 中华石杉的互联网 Java 进阶面试训练营相关资料。 | 4,125 | HTML |
| kishanrajput23/Java-Projects-Collections | 精选的 Java 项目集合,涵盖从入门练习到高级应用的多种概念与实践。 | 1,399 | Java |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2018-10-06,近 30 天仍在推送,发布过 1 个 Release |
| 社区活跃 | Star 79,172 / Fork 19,101 / Issue 1(数据支持,可自行核实) |
| 许可证 | CC-BY-SA-4.0 |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。