这是一个针对初学者的 Java 学习指南,旨在为想要学习 Java 编程语言的读者提供一个完备、系统的学习方案。
本学习指南的内容主要按照以下目录进行组织:
-
Algo:算法和数据结构相关的内容。包含了牛客网和leetcode刷题代码实现。
-
Base:计算机的基础学科内容,如计算机组成原理和计算机网络。
-
Cache:缓存的内容,详细介绍了Redis的数据模型和数据结构、Redis的持久化机制、Redis的高可用和高扩展以及最佳使用实践。
-
DB:数据存储相关内容。包含了MySQL和Mybatis。介绍了MySQL的底层存储引擎InnoDB,以及数据库索引、锁、事务。
-
Design:代码设计相关的内容。包含DDD领域驱动设计、设计模式实践、webflux响应式编程。
-
Devops:DevOps 相关的内容。包含Docker、Git、maven、k8s(TODO)。
-
Interview:面试相关的内容(暂存)。
-
Java:Java 核心技术相关的内容。包含了JavaBase、JavaConcurrency、JavaVirtualMachine三部分。
-
Job:定时任务相关的内容。包含业界Job框架的技术选型,以及ElasticJob和PowerJob学习记录。
-
Language:其他编程语言的学习。包含 C、GO、Python、Rust(TODO)语言。
-
MicroServices:微服务设计相关的内容,分布式原理、秒杀系统、网关设计、性能指标。
-
MQ:消息队列相关的内容。包含Pulsar、RockMQ以及Kafka。
-
OS:操作系统相关的内容。包含了Linux和MacOS,Linux的常用命令详解、mac 下的常用配置及软件。
-
RPC:远程过程调用相关。包含了Dubbo、gRPC和Netty相关内容。
-
Search:搜索相关。主要包含了ElasticSearch、Bigtable和TableStore。
-
Spring:Spring 框架相关内容。包含了Spring源码分析,以及实自己的Spring实现。
-
WebServer:Web 服务器相关的内容。包含了Tomcat以及Nginx。