JAVA全栈工程师学习线路(建议收藏)
互联网技术,更新迭代迅速,用日新月异来说也不为过,所以,面对这这种大环境,对于码农尤其是那些对于初入职场的新手来说,该如何自我学习升级,往方向发展,这一点是大家都经常困惑的。
大部分人,刚开始学习的Java的时候,最大的问题就是不知道该学什么,以及学习的顺序,而这这也是很多初学者经常面临的问题。所以很多人黑猫白猫一起抓,而且现在学习资料也不缺,网上资料一大把,只是实在不知该从何下手。
其实,过来人都知道,精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,没有必要非要整个争个高下。因为自己喜欢的,才是最好的。
这里,希望大家明白,如果你是在校学生,有大把时间都去学,而如果你已经工作了,则可以根据公司的业务需求有针对性的去学习,下面的只是列点仅作参考作用,当你想学的时候,知道有哪些东西需要学习。
九阳神功第一阶段
第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,根性稍钝着 三到六月或有可成。如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻之间就练成了。
第一层主要包括如下部分(已经列好顺序):

- 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
- MyCat/ShardingSphere
这一阶段修炼完,你已经基本上达到了金毛狮王的水平了,金毛狮王是张无忌义父主,屠龙刀主人,那你出去找个项目经理的位置坐坐估计差不多吧。
九阳神功第五阶段

最后还不得不说 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(非专业前端建议修炼其中一个即可)

修炼到这一层,练习到这一层,基本上前后端通杀,做个架构师,或者独立接私活妥妥的了。《乾坤大挪移》的作者据说也是这个层次。
九阳神功第七阶段
本层主要修炼:
《养发护发指南》

《颈椎病康复指南》

《腰椎间盘突出康复指南》

祝大家早日习得盖世神功!
附上手绘完整Java学习路线图:




原文:https://zhuanlan.zhihu.com/p/73671471(配图教程请点击原文)
JAVA全栈工程师学习线路(建议收藏)的更多相关文章
- 2019年java全栈工程师学习大全
技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点我是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面临 ...
- 2019 Java 全栈工程师进阶路线图,一定要收藏
技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面 ...
- JAVA全栈工程师应具备怎样的知识体系?
Java是超高人气编程语言,拥有跨平台.面向对象.泛型编程等特性.在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:非Java莫属. 今天是针对各类目有更详 ...
- Java全栈工程师知识体系介绍
Java全栈工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. 那么想要成为一名合格的Java全栈工程 ...
- 全栈工程师学习Linux技术的忠告
随着科技的普及,Linux作为最受欢迎的服务端操作系统,无人不知,无人不晓.当今,不论是服务器搭建,还是客户端开发,Linux系统的基础技能对全栈来说都是必备的,而了解如下几个问题可以更好的帮助你成为 ...
- PHP全栈工程师学习大纲
一.高性能网站开发功力提升 时间 标题 内容概要 2015-12-28 开学典礼以及工程师成长路线图 工程师成长的发展路径图.三个阶段,在各个阶段需要提升自己的地方,从技术上也讲了一些提高分析代码的工 ...
- python+java全栈工程师 转 向前端的路
python的优点 简单 简单 简单 我目前在公司用python 1. 增加odoo的各种业务,成本核算.自动跑单.自动备份数据库之类的 ----odoo是国外大佬做的一个开源erp 用的python ...
- Java全栈方向学习路线
前端方向 前端基础 HTML --> https://www.w3school.com.cn/html/index.asp CSS --> https://www.w3school.com ...
- Java全栈学习路线、学习资源和面试题一条龙
肝了一个月,终于把Java学习路线.面试题资源和电子书资源都整理好了. Java 从基础到微服务的学习路线,其中还包括科班知识.学习建议.后续的学习引导和相应的学习资源(视频.书籍.网站),还整理了J ...
随机推荐
- jupyter启动后,浏览器自动打开,但是显示空白
解决办法 1.在Windows菜单中,搜索regedit,打开它.2.导航到计算机> HKEY_CLASSES_ROOT> .js> Content Type(如果没找到需要新建或直 ...
- 关于i++的底层原理分析
首先看一道典型题 public class Test { static int x, y, z; static { int x = 5;//局部变量 x--; } static { x--; } pu ...
- 使用WebUploader上传HTML文件并读取文件
需求: 前端需要上传HTML文件并识别里面有多少个特殊标签并录入到数据库. 思路: 使用WebUploader上传文件,然后使用FileReader接口和DOMParser识别HTML中的特殊标签 资 ...
- Animator的小记
前阵子在做动画相关的内容,整理一下Animator. 1.动画切换 1.1状态之间的切换,在状态间连线(Make Transition),并且设置触发条件,代码里调用SetTrigger.SetBoo ...
- NOIP提高组2018试题解析 Day1 T1 铺设道路 P5019
题目描述 春春是一名道路工程师,负责铺设一条长度为 nn 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 nn 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为 d_idi ...
- cogs 1829. [Tyvj 1728]普通平衡树 权值线段树
1829. [Tyvj 1728]普通平衡树 ★★★ 输入文件:phs.in 输出文件:phs.out 简单对比时间限制:1 s 内存限制:1000 MB [题目描述] 您需要写一种数 ...
- 我怎么感觉 ConcurrentDictionary<,> 不是线程安全的喃?
直接上代码 class Program { static readonly ConcurrentDictionary<string, Person> Dic = new Concurren ...
- cocoa pods最新安装说明和使用方法
最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources - ...
- 遗传编程GP-地图路径寻路
本文介绍的是基于GP,并非A*算法,算是另类实现吧. 先看看地图定义,在文本文件中定义如下字符串,代表30列11行大小的地图 初始位置在左上角(0,0) ,值为1的是允许走的通的路,目标位置为右下角( ...
- Dart语言学习( 一) 为什么学习Dart?
为什么学习Dart? Google及全球的其他开发者,使用 Dart 开发了一系列高质量. 关键的 iOS.Android 和 web 应用. Dart 非常适合移动和 web 应用的开发. 高效 D ...