# JavaStudyPath **Repository Path**: asdgs/JavaStudyPath ## Basic Information - **Project Name**: JavaStudyPath - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 你好,我是彤哥,公众号“彤哥读源码”的运营者,我将整个Java学习路线分为八个阶段: - 炼气(入门) 这一阶段可以通过阅读一些经典书籍快速入门,比如《Java编程思想》《Effective Java》等。 彤哥入门也是在大学的时候,反正上课的时候是很懵逼的,后面买了本英文版的《Java编程思想》,基本上看完了,才算真正入门。 - 筑基(基础) 这一阶段注重打好基础,主要是`数据结构与算法`和`设计模式`,这两门课程需要反反复复地看。 对于数据结构与算法来说,只需要掌握常用的即可,从数组到图,八大排序算法。 对于设计模式,需要掌握SOLID设计原则及23种设计模式。 - 金丹(框架) 这一阶段我们需要掌握常用框架的使用,目前最流行的框架是什么? 相信大家都知道,就是SSM,即Spring + SpringMVC + Mybatis,掌握这一套框架的使用基本上可以应对大部分的初级面试了。 当然,这里的Spring换成SpringBoot会更好,有条件的同学也可以尝试SpringCloud微服务框架。 - 元婴(中间件) 这一阶段我们需要掌握常用中间件的使用,最常用的MySQL和Redis。 有条件的同学可以尝试分布式协调器Zookeeper、搜索引擎Elasticsearch、消息中间件Kafka或RocketMQ、通信框架Netty、RPC框架Dubbo。 到这一阶段,面试大部分的中级偏下一般不会有太大问题,但是,要想薪资拿到高,必须掌握一到两个框架的原理,甚至源码。 - 化神(底层) 这一阶段我们需要掌握一些底层原理,同时要重温`数据结构与算法`和`设计模式`。 源码可以先简单的JDK源码开始,再深入到Netty、Spring等。 同时,这一阶段看底层原理的时候需要掌握一些操作系统的知识,放心吧,只是很少一部分。 到这一阶段,可以面试一些中级偏上,甚至高级偏下的职位了,抽一两个框架或中间件往死里磕,会惊艳到面试官的。 - 大乘(分布式) 这一阶段我们需要掌握一些分布式的原理,最经典的CAP、BASE、Paxos选举。 同时,还要掌握一些分布式的技术,比如负载均衡、分库分表等,能够看懂大部分中间件的集群原理,其实都比较类似。 到这一阶段,面试高级职位从技术上来说问题不大,关键还要看你的项目,以及你的语言组织能力,毕竟高级都是要带团队的,不会说那肯定是不行的。 - 渡劫(容器化) 现在大部分公司都使用容器化部署方案了,所以,需要掌握一些容器化的知识,最常用的Docker和Kubernetes,懂一些皮毛即可,当然,你也可以选择深入理解Docker和Kubernetes的底层原理,这些需要大量的操作系统相关的知识。 - 财务自由 这是最后一个阶段,掌握上面这些知识,配上合适的项目,再加上你的嘴,拿个阿里P7问题不大,甚至冲击P8都有可能,财务自由妥妥的,不信你看最近各种阿里爆料就知道了,没有钱怎么干那种事呢^^ 下面是脑图: ![网速不好,图碎了](assets/Java学习路线.png) 好了,上面就是彤哥总结的Java学习路线图,任重而道远,一起加油。 # 联系我 扫描下方二维码关注我的公众号“彤哥读源码”,我会把Java学习路线中的各种知识系统化地讲给你听。 ![网速不好,图碎了](assets/qrcode_small.jpg)