技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点我是深有体会的。
我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临的问题。我当时经常胡子眉毛一把抓,那会学习资料倒是不缺,学校图书馆啥都有,就是无从下手,后来有高人指导之后,进步就很快了。
精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,如果非要整个争个高下,我觉得没有必要。
自己喜欢的,才是最好的,我读书的时候就接过几百块钱的小活,没几个钱,要是跟人合作更没有赚头了,所以后来我一直在尝试全栈的路线,也一直在这条路上努力。
专精于某一方面,成为某一个领域的执牛耳者,也是让人钦佩了。
结合我自己的经验,我整理了一份 Java 全栈工程师进阶路线图,给大家参考。我整理出来的大部分知识点都有相关的学习资源,大家在公众号后台回复相应的口令就可以获取相关资源(学习资源口令)。
希望大家明白,如果你是在校学生,有大把时间,个人觉得这些东西可以挨个去学,如果你已经工作了,可以根据公司的业务需求有针对性的去学习,下面的列表仅仅起一个参考的作用,当你想学的时候,知道有哪些东西需要学习。
乾坤大挪移第一层
第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准。如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻之间就练成了。
第一层主要包括如下部分(已经列好顺序):
- Java 基础语法
- Java 面向对象
- Java 常用类详解
- Java 异常机制
- Java 集合与数据结构
- Java IO
- Java 多线程
- Java 网络编程
- Java 注解+反射
- 23 种设计模式
- 正则表达式
- XML 解析/ JSON 解析
- Java 10、11、12 新特性
- AIO、BIO、NIO
乾坤大挪移第二层
第二层主要是修炼数据库,从基本用法到查询优化、读写分离等等都需要掌握,这里以 MySQL 数据库为例:
- 数据库的基本概念
- 数据库和表的基本操作
- 索引与数据完整性约束
- 数据库中的各种复杂查询操作
- MySQL 中常见函数的使用
- 存储过程、触发器以及事件等
- 数据库的备份与恢复
- 数据库用户管理与数据库安全性
- 事务和多用户
- 读写分离环境搭建+实践
- JDBC
- 常见数据库连接池的配置+使用
乾坤大挪移第三层
第三层主要是修炼 Web 基础,主要包括前端的基础知识,先不用深入学习前端,后端的 Jsp/Servlet,有人会说现在公司都不用 Jsp/Servlet 了,还学这些干嘛?但是万变不离其宗,哪个顶尖高手不是从扎马步开始的?这些掌握好了,框架的原理才好理解。
- HTML
- CSS
- JavaScript
- jQuery
- Tomcat
- Servlet(基本用法,Session、Cookie 等)
- Jsp(原理、九大内置对象等)
- EL 和 JSTL
- 过滤器/监听器等
- Ajax
- EasyUI
- ECharts
- BootStrap
- Git/Svn
- WebSocket
前三层练好后,做个大学的毕设应该是够用了。
乾坤大挪移第四层
第四层主要是修炼各种框架以及工具:
- Spring
- SpringMVC
- MyBatis
- Maven/Gradle
- Freemarker/Thymeleaf
- Linux
- ActiveMQ/RabbitMQ
- Netty
- Zookeeper
- Dubbo
- Redis
- RBAC
- Shiro
- Elasticsearch
- Nginx
- SSO
- Activiti
- Quartz
- Spring Batch
- MongoDB
- Spring Cache
- Jpa
这一层修炼完,你已经基本上达到了阳顶天的水平了,阳顶天是明教教主,那你出去找个项目经理的位置坐坐估计差不多吧。
乾坤大挪移第五层
最后还不得不说 Java 目前最火的微服务,这也是一项必备技能:
- Spring Boot 基本原理
- Spring Boot 基础配置
- Spring Boot 整理视图层技术
- Spring Boot 整合 Web 开发
- Spring Boot 整合持久层技术
- Spring Boot 整合 NoSQL
- Spring Boot 构建 RESTful 服务
- Spring Boot 整合各种缓存
- Spring Boot 安全管理
- Spring Boot 整合 WebSocket
- Spring Boot 整合消息服务
- Spring Boot 整合 Swagger、邮件等
- Spring Boot 应用监控
- Spring Cloud Eureka、Consul
- 微服务注册与消费
- Spring Cloud OpenFeign
- 服务容错保护 Resilience4j
- Spring Cloud Zuul/Gateway
- Spring Cloud Config
- Spring Cloud Bus
- Spring Cloud Stream
- Spring Cloud Sleuth/Zipkin
- Spring Cloud Admin
- Spring Cloud Alibaba
第五层修炼成功后,让老板加波薪水应该是可以的吧!
乾坤大挪移第六层
第六层主要是修炼前端,前端这几年发展的非常快,早已经不是画页面了,JavaScript 被玩的越来越溜了,所以前端不可小觑:
- HTML5 新特性
- CSS3
- ES6
- JS 模块化
- less
- NodeJS
- Webpack
- Grunt
- Gulp
- Zepto
- mpvue
- AngularJS/Vue/React(非专业前端建议修炼其中一个即可)
据说乾坤大挪移的作者也只修炼到这一层。
练习到这一层,基本上前后端通杀,做个架构师,或者独立接私活妥妥的了。