/JavaGuide

「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

Primary LanguageJavaApache License 2.0Apache-2.0

推荐你通过在线阅读网站进行阅读,体验更好,速度更快!

阅读 stars forks issues

Github | Gitee

  1. 面试专版 :准备面试的小伙伴可以考虑面试专版:《Java 面试指北 》 (质量很高,专为面试打造,配合 JavaGuide 食用)。
  2. 知识星球 :专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 JavaGuide 知识星球(点击链接即可查看星球的详细介绍,一定一定一定确定自己真的需要再加入,一定一定要看完详细介绍之后再加我)。
  3. 转载须知 :以下所有文章如非文首说明为转载皆为我(Guide 哥)的原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!

项目相关

Java

基础

知识点/面试题总结 : (必看:+1: ):

重要知识点详解

集合

知识点/面试题总结

源码分析

IO

并发

知识点/面试题总结 : (必看 👍)

重要知识点详解

JVM (必看 👍)

JVM 这部分内容主要参考 JVM 虚拟机规范-Java8 和周志明老师的《深入理解Java虚拟机(第3版)》 (强烈建议阅读多遍!)。

新特性

计算机基础

操作系统

网络

知识点/面试题总结

重要知识点详解

数据结构

图解数据结构:

其他常用数据结构 :

算法

算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:

常见算法问题总结

另外,GeeksforGeeks 这个网站总结了常见的算法 ,比较全面系统。

数据库

基础

MySQL

知识点/面试题总结:

重要知识点:

Redis

知识点/面试题总结 : (必看:+1: ):

重要知识点:

MongoDB

搜索引擎

Elasticsearch常见面试题总结(付费)

JavaGuide 官方公众号

开发工具

Maven

Maven 核心概念总结

Gradle

Gradle 核心概念总结(可选,目前国内还是使用 Maven 普遍一些)

Docker

Git

系统设计

基础

常用框架

Spring/SpringBoot (必看 👍)

知识点/面试题总结 :

重要知识点详解

MyBatis

MyBatis 常见面试题总结

安全

认证授权

数据脱敏

数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。

敏感词过滤

敏感词过滤方案总结

定时任务

Java 定时任务详解

Web 实时消息推送

Web 实时消息推送详解

分布式

理论&算法&协议

API 网关

API 网关详解

分布式 ID

分布式 ID 详解

分布式锁

分布式锁详解

分布式事务

分布式事务详解

分布式配置中心

分布式配置中心详解

RPC

ZooKeeper

前两篇文章可能有内容重合部分,推荐都看一遍。

高性能

数据库读写分离&分库分表

数据库读写分离&分库分表详解

负载均衡

负载均衡详解

SQL 优化

常见 SQL 优化手段总结

CDN

CDN(内容分发网络)详解

消息队列

消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: 消息队列常见问题总结

高可用

高可用系统设计指南

冗余设计

冗余设计详解

限流

服务限流详解

降级&熔断

降级&熔断详解

超时&重试

超时&重试详解

集群

相同的服务部署多份,避免单点故障。

灾备设计和异地多活

灾备 = 容灾+备份。

  • 备份 : 将系统所产生的的所有重要数据多备份几份。
  • 容灾 : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。

异地多活 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。

Star 趋势

公众号

如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。

JavaGuide 官方公众号