登录 注册

advanced-java (互联网 Java 工程师进阶知识完全扫盲)

去点 Star
教育与学习数据分析与数据处理网络与基础设施 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 工程师进阶知识完全扫盲

[![stars](https://img.shields.io/github/stars/doocs/advanced-java?color=42b883&logo=github&style=flat-square&logoColor=ffffff)](https://github.com/doocs/advanced-java/stargazers)
[![forks](https://img.shields.io/github/forks/doocs/advanced-java?color=42b883&logo=github&style=flat-square&logoColor=ffffff)](https://github.com/doocs/advanced-java/network/members)
[![license](https://img.shields.io/github/license/doocs/advanced-java?color=42b883&style=flat-square&logo=homeassistantcommunitystore&logoColor=ffffff)](./LICENSE)
[![doocs](https://img.shields.io/badge/org-join%20us-42b883?style=flat-square&logo=homeassistantcommunitystore&logoColor=ffffff)](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 为准(涉及依赖安装与环境配置,对新手门槛较高)。