2019 Java 全栈工程师进阶路线图,一定要收藏
技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。
我刚开始学习 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(非专业前端建议修炼其中一个即可)
据说乾坤大挪移的作者也只修炼到这一层。
练习到这一层,基本上前后端通杀,做个架构师,或者独立接私活妥妥的了。
乾坤大挪移第七层
本层主要修炼:
- 《养发护发指南》
- 《颈椎病康复指南》
- 《腰椎间盘突出康复指南》
- .....
祝大家早日习得盖世神功!
关注公众号【江南一点雨】,专注于 Spring Boot+微服务以及前后端分离等全栈技术,定期视频教程分享,关注后回复 Java ,领取松哥为你精心准备的 Java 干货!
2019 Java 全栈工程师进阶路线图,一定要收藏的更多相关文章
- JAVA全栈工程师学习线路(建议收藏)
互联网技术,更新迭代迅速,用日新月异来说也不为过,所以,面对这这种大环境,对于码农尤其是那些对于初入职场的新手来说,该如何自我学习升级,往方向发展,这一点是大家都经常困惑的. 大部分人,刚开始学习的J ...
- 2019年java全栈工程师学习大全
技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点我是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临 ...
- JAVA全栈工程师应具备怎样的知识体系?
Java是超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属. 今天是针对各类目有更详 ...
- Java全栈工程师知识体系介绍
Java全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. 那么想要成为一名合格的Java全栈工程 ...
- python+java全栈工程师 转 向前端的路
python的优点 简单 简单 简单 我目前在公司用python 1. 增加odoo的各种业务,成本核算.自动跑单.自动备份数据库之类的 ----odoo是国外大佬做的一个开源erp 用的python ...
- 《Web全栈工程师的自我修养》读书笔记(转载)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5 ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- C蛮的全栈之路-序章 技术栈选择与全栈工程师
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...
- 教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师
作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路. 这段往事包括:从不会动的静态网页到最流行的网站开发.实现自己的博客网站.在云里雾里的云中搜索.大数 ...
随机推荐
- JS 扩展方法prototype
通过类对象的prototype设置扩展方法,下面为String对象增加quote(两边加字符)方法 <script type="text/javascript"> St ...
- 读BeautifulSoup官方文档之与bs有关的对象和属性(3)
上一节说到.string的条件很苛刻, 如果某个tag里面包含了超过一个children, 就会返回None, 但是这里提供另外一种方式 .strings, 它返回的是一个generator, 比如对 ...
- SICP 1.17-1.19
1.16 -------------> 不考虑0的情况 <------------ (define (fe b n) (define (fet m c) (cond ((= m n) c) ...
- Windows 10开发基础——XML和JSON (一)
主要内容: JSON的序列化与反序列化 XML的序列化与反序列化 1.JSON的序列化与反序列化 JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,它 ...
- 使用MultiByteToWideChar转换UTF8为GBK(UTF8在Windows的代码页是CP_UTF8)
两个使用的函数: 1,UTF8转化为Unicode,inline为了编译后更快运行,老用到了,返回字符串为了使用链式表达式 inline WCHAR *UTF8ToUnicode(const cha ...
- 微信小程序把玩(二十一)switch组件
原文:微信小程序把玩(二十一)switch组件 switch开关组件使用主要属性: wxml <!--switch类型开关--> <view>switch类型开关</vi ...
- 算法之--字符串反转【python实现】
题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”.请写一个函数 ...
- Android零基础入门第52节:自定义酷炫进度条
原文:Android零基础入门第52节:自定义酷炫进度条 Android系统默认的ProgressBar往往都不能满足实际开发需要,一般都会开发者自定义ProgressBar. 在Android开发中 ...
- 如何在 Linux 中添加一块大于 2TB 的新磁盘?
你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错.我们无法使用 fdisk 对大于 2TB 的硬盘进行分区. 在这种情况 ...
- uniConnection断线重联(tag属性颇有深意,这样就可以在某些情况下,不用继承实现新控件就可以达到自己的目的)
群友无法呼吸提供的,谢谢他了. http://blog.sina.com.cn/s/blog_44fa172f0102wb7h.html