写点什么

耗时一个月我问遍了身边的大佬,零基础自学 Java 的路线,适用程序员入门 & 进阶,Java 学习路线,2024 新版

  • 2024-02-05
    上海
  • 本文字数:3492 字

    阅读完需:约 11 分钟

作为一个有志于成为 Java 程序员的你,或许正处在技术生涯的起点,或许已经走过了入门的道路,期待跨越进阶的门槛?


无论处于哪个阶段,一条明确的学习路线都至关重要,通过向众多行业大佬请教、反复探索和实践,总结出一套适用于零基础自学者大学四年 Java 学习路线,也同样适用于从初级到研发专家的学习路线。


以下是这条路线的详细规划,希望能帮助你启动这段旅程,并在随后的几年中不断进步。


Q1 - 能否自我介绍下?

嗨,大家好,我是 小 明 (小明 java 问道之路),互联网大厂后端研发专家,2022 博客之星 TOP3/博客专家/CSDN 后端内容合伙人、InfoQ(极客时间)签约作者、阿里云签约博主、全网 5 万粉丝博主。


一个 8 年开发经验的老兵,专注于面试/后端/源码/架构/算法,擅长面试高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。


如果你觉得本文对你有用的话,欢迎关注、收藏、点赞~


Q2 - Java 全栈知识体系总览————————————————


Q3 - 适合什么样的人群学习?

求职者:帮助快速建立知识体系,系统性突击更快拿 offer

面试官:有助于快速识别候选人才

初学者:建立知识体系,赢在起跑线上

在职人员 / 想要在公司提升 / 计划跳槽:多年的发展还没建立知识体系,

Q4 - 知识脑图【内容较多,建议先收藏再看】

计算机体系结构与 C 语言

计算机体系结构:计算机组成原理、计算机体系结构(ISA 指令集、intel 开发手册)、CSAPP (深入理解计算机系统)、汇编语言、编译原理(ELF、汇编器)、操作系统

C 语言:指针、结构体、汇编语言下的 C 语言(编译原理、指令)



数据结构与算法

数据结构:链表、队列、栈、hash 表、树、图、字符串、单调栈、字典树、线段树、并查集
算法:排序、选择、字符串 API、 贪心、dfsbfs、 递归、回溯、动态规划、穷举、迭代、双指针


JVM

HotSpot:HotSpot 内核、HotSpot 启动、HotSpot 系统初始化、HotSpot Oops 模块、Klass 框架、对象标识机制

JVM 规范:OOM(OutOfMemoryError)、StackOverflowError、垃圾回收算法、垃圾回收器、指令集、解释器、JIT、字节码指令集、字节码执行引擎、对象内存布局、类加载、链接、初始化、创建对象的过程、运行时数据区(程序计数器、jvm 栈、本地方法栈、堆、方法区、运行时常量池、直接内存)

虚拟机监控工具(优化实战):Attach、Heap Dump、jhat、jstack

Java 内存模型与线程:JMM、线程实现、线程调度、状态转换、线程安全、锁优化


MySQLMySQL 基础:MySQL 数据类型、锁机制、事务、MVCC(多版本并发控制)、存储引擎(Innodb、MyISAM)

MySQL 高级特性:MySQL 语句性能分析、索引(唯一、覆盖、聚簇...)、索引数据结构、优化 SQL 性能、分区表、视图、游标、字符集、全文索引、分布式事务、缓存

MySQL 实战:数据分布、负载均衡、备份与恢复、故障切换、主从复制、监控、分库分表


框架

SpringBoot:SpringBoot 启动器原理、核心源码、自动配置
Spring、SpringMVC:Spring 核心流程、Spring 工作常用注解、循环依赖及 Bean 定义解析、IOC 容器源码、AOP 源码、声明式事务源码解读、tomcat 的 SPI 机制加载 springmvc 容器、RequestMappingInfo 和 HandlerMethod 映射关系、handlerMapping 和 HandlerAdapter 关系、HandlerInterceptor 的前置、中置、后置过滤器原理、HandlerAdapter 的参数解析原理 springmvc 的调用流程梳理、响应式编程-WebFlux
SpringCloud alibaba:Nacos-Discovery 服务发现、配置中心 Nacos-Config;SkyWalking 链路跟踪概述、AssemblyPlugin、Sentinel 限流、熔断器、Seala 分布式事务
SpringCloud Netflix:Zuul 路由网关详解及源码探析、Ribbon 客户端负载均衡原理、Feign 声明式服务调用、Eureka 注册中心、Config 配置服务中心与 svn、git 集成、Hystrix 服务熔断及服务降级、Bus/Sleuth/Stream、微服务日志、自定义分布式配置中心 MyBatis:配置使用、执行流程、源码分析、连接池
Dubbo:Dubbo 架构原理和内核、Dubbo SPI 原理、Dubbo I0C 和 AOP 原理、Dubbo 动态编译、服务发布原理、服务引用原理、集群容错设计、服务降级设计、网络通信架构、网络通信编码解码
Zookeeper:Zookeeper 指令、zkclient、curotor、集群选举、分布式锁


中间件

Redis:Redis 缓存雪崩、缓存击穿、缓存预热、热点 key、缓存降级、短链接、分布式锁秒杀、预减库存、堆外缓存+Redis 架构设计、Redis 动态刷新、Redis 和 DB 双写一致性、过期删除策略、集群数据倾斜
Redis 核心源码解读、String/Hash/List/Set/ZSet 数据结构、Kernel 与 Epoll 多路复用机制
RabbitMQ、RocketMQ、Kafka,消息发布与消费权衡、消息拒绝、应用解耦实战、集群化与镜像队列实战
RocketMQ:消息存储机制、多种消息模式、高可用性机制、provider 与 consumer 负载均衡机制、消息过滤 TAG/SQL 及类过滤模式
Kafka:Kafka 的生产者和消费者及高级特性、集群。实战:如何处理消息重试(顺序/无序/死信队列)、解决项目中常遇到的消费幂等性问题、可靠数据传递集群搭建、削峰填谷、与 Spring 整合、镜像队列
ngnix:Nginx 进程模型及配置、location 规则、rewrite 解析等动静分离、反向代理及跨域
tomcat:HTTP 请求解析与处理流程、Tomcat 核心组件、类加载机制及源码解析、BIO/NIO 源码、Tomcat 集群与会话复制方案
分库分表:mycat:实现 MySQL 读写分离、数据库切分、全局表、ER 表、 分片机制分析;sharding-jdbc:引擎原理与数据分片、读写分离、编排治理、分布式事务、数据脱敏
kubernetes(K8S):Kubernetes 集群管理方案实战
docker:基础操作、Docker File、网络存储、DockerCompose、微服务与 Docker 集成实现动态扩容 Elastic:ElasticSearch:原理、分布式 CRUD、索引管理、分片、搜索优化;elastic-job


架构

系统设计:高可用、高并发、高性能、高伸缩、高安全、防资损
架构设计:选型、负载均衡、限流、熔断、降级、集群、故障转移、容灾备份、监控日志、数据安全
监控:Grafana、CAT、Kibana、LoadRunner、Logstash、Pinpoint、ZipKin、JMeter
集成:Nginx、DNS、Kubernetes、Docker、Tomcat、JenKins、Maven、JBOSS、Gradle、Git、SVN、阿里云、华为云、腾讯云


 软技能

  • UML 使用

  • PPT 汇编、演讲、技术设计文档撰写、需求理解、需求沟通、架构文档撰写

  • 专业术语的使用、向上管理、面向绩效/领导编程

 总结


看起来很多,但是初步了解可能几个月就够了,当然了,这只是一个大概的路线图,每个人的学习节奏和兴趣点都会有所不同,在这个学习过程中,要了解它是干嘛的,知道怎么去使用它,了解他的底层原理,了解他的常见问题,熟悉问题的解决方案等等。


絮叨一下,无论处于哪一阶段,都要保持对技术的好奇心与热情,主动去探索和实践新的技术领域,勇于尝试和坚持不懈是通向顶峰的必备品质。————————————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746


————————————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746

————————————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746

————————————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746


————————————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746—————————


                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
复制代码


原文链接:https://blog.csdn.net/FMC_WBL/article/details/135318746

用户头像

InfoQ签约作者/技术专家/博客专家 2020-03-20 加入

🏆InfoQ签约作者、CSDN专家博主/后端领域优质创作者、阿里云专家/签约博主、华为云专家、51CTO专家/TOP红人 📫就职某大型金融互联网公司高级工程师 👍专注于研究Liunx内核、Java、源码、架构、设计模式、算法

评论

发布
暂无评论
耗时一个月我问遍了身边的大佬,零基础自学Java的路线,适用程序员入门&进阶,Java学习路线,2024新版_小明Java问道之路_InfoQ写作社区