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年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路. 这段往事包括:从不会动的静态网页到最流行的网站开发.实现自己的博客网站.在云里雾里的云中搜索.大数 ...
随机推荐
- C# TCP 通讯
//接收 using System; using System.Collections.Generic;using System.ComponentModel;using System.Data;us ...
- 读取spring工程中resource的文件
Resource resource = new ClassPathResource("data.json"); // 读文件到字符串 String fileContent = Fi ...
- Win8Metro(C#)数字图像处理--2.17图像木刻效果
原文:Win8Metro(C#)数字图像处理--2.17图像木刻效果 [函数名称] 图像木刻效果函数WoodCutProcess(WriteableBitmap src) [函数代码] ///& ...
- codewars杂记: 寻找缺失的数
题目描述: 给出一个整数列表,找出该列表无法通过各种组合求和得到的最小的整数. 示例: solve([1,2,8,7]) = 4, because we can get 1, 2, 1+2=3. Bu ...
- 零元学Expression Blend 4 - Chapter 4元件重复运用的观念
原文:零元学Expression Blend 4 - Chapter 4元件重复运用的观念 本章将教大家Blend元件重复运用的观念,这在Silverlight设计中是非常重要的,另外加码赠送渐层工具 ...
- 重写QLineEdit,实现编辑框内添加删除按钮的功能(随时把控件Move到一个地方,然后show就可以了,这是万能的办法)
http://www.qtcn.org/bbs/read-htm-tid-62265-ds-1-page-1.html#180286
- MotionManager 陀螺仪实现方式
题外话: 权利的游戏开播了,引用一句话: 布兰:一个人如果还把,他还能勇敢么? 奈德:人在害怕时候的勇敢,才是真的勇敢. 回归正题: 说下关于 CMMotionManage ...
- Java 函数传入参数后,究竟发生了什么?java函数传参数原理解析
JAVA函数在传入参数A时,会在函数作用周期内生成一个与参数相同类型的局部变量B. B与A指向同一块内存区域,并且具有相同的名字如param. 在函数内所有对param的操作都是对B的操作.对B进行赋 ...
- python+Django 下JWT的使用
figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...
- WebGL场景的两种地面构造方法
总述:大部分3D编程都涉及到地面元素,在场景中我们使用地面作为其他物体的承载基础,同时也用地面限制场景使用者的移动范围,还可以在通过设置地块的属性为场景的不同位置设置对应的计算规则.本文在WebGL平 ...