JAVA全栈工程师学习线路(建议收藏)

Wesley13
• 阅读 507

互联网技术,更新迭代迅速,用日新月异来说也不为过,所以,面对这这种大环境,对于码农尤其是那些对于初入职场的新手来说,该如何自我学习升级,往方向发展,这一点是大家都经常困惑的。

大部分人,刚开始学习的Java的时候,最大的问题就是不知道该学什么,以及学习的顺序,而这这也是很多初学者经常面临的问题。所以很多人黑猫白猫一起抓,而且现在学习资料也不缺,网上资料一大把,只是实在不知该从何下手。

其实,过来人都知道,精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,没有必要非要整个争个高下。因为自己喜欢的,才是最好的。

这里,希望大家明白,如果你是在校学生,有大把时间都去学,而如果你已经工作了,则可以根据公司的业务需求有针对性的去学习,下面的只是列点仅作参考作用,当你想学的时候,知道有哪些东西需要学习。

九阳神功第一阶段

第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,根性稍钝着 三到六月或有可成。如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻之间就练成了。

第一层主要包括如下部分(已经列好顺序):

JAVA全栈工程师学习线路(建议收藏)

  1. Java 基础语法
  2. Java 面向对象
  3. Java 常用类详解
  4. Java 异常机制
  5. Java 集合与数据结构
  6. Java IO
  7. Java 多线程
  8. Java 网络编程
  9. Java 注解+反射
  10. 23 种设计模式
  11. 正则表达式
  12. XML 解析/ JSON 解析
  13. Java 10、11、12 新特性
  14. AIO、BIO、NIO

九阳神功第二阶段

JAVA全栈工程师学习线路(建议收藏)

第二层心法以数据库修炼为主,从基本用法到查询优化、读写分离等等都需要掌握,这里以 MySQL 数据库为例:

  1. 数据库的基本概念
  2. 数据库和表的基本操作
  3. 索引与数据完整性约束
  4. 数据库中的各种复杂查询操作
  5. MySQL 中常见函数的使用
  6. 存储过程、触发器以及事件等
  7. 数据库的备份与恢复
  8. 数据库用户管理与数据库安全性
  9. 事务和多用户
  10. 读写分离环境搭建+实践
  11. JDBC
  12. 常见数据库连接池的配置+使用

九阳神功第三阶段

JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏)

第三层主要是修炼Web 基础,主要包括前端的基础知识,先不用深入学习前端,后端的 Jsp/Servlet,有人会说现在公司都不用 Jsp/Servlet 了,还学这些干嘛?但是万变不离其宗,哪个顶尖高手不是从扎马步开始的?这些掌握好了,框架的原理才好理解。

  1. HTML
  2. CSS
  3. JavaScript
  4. jQuery
  5. Tomcat
  6. Servlet(基本用法,Session、Cookie 等)
  7. Jsp(原理、九大内置对象等)
  8. EL 和 JSTL
  9. 过滤器/监听器等
  10. Ajax
  11. EasyUI
  12. ECharts
  13. BootStrap
  14. Git/Svn
  15. WebSocket

前三阶段修炼成功之后,做个大学的毕设应该是够用了。

九阳神功第四阶段

JAVA全栈工程师学习线路(建议收藏)

第四阶段主要是修炼各种框架以及工具:

  1. Spring
  2. SpringMVC
  3. MyBatis
  4. Maven/Gradle
  5. Freemarker/Thymeleaf
  6. Linux
  7. ActiveMQ/RabbitMQ
  8. Netty
  9. Zookeeper
  10. Dubbo
  11. Redis
  12. RBAC
  13. Shiro
  14. Elasticsearch
  15. Nginx
  16. SSO
  17. Activiti
  18. Quartz
  19. Spring Batch
  20. MongoDB
  21. Spring Cache
  22. Jpa
  23. MyCat/ShardingSphere

这一阶段修炼完,你已经基本上达到了金毛狮王的水平了,金毛狮王是张无忌义父主,屠龙刀主人,那你出去找个项目经理的位置坐坐估计差不多吧。

九阳神功第五阶段

JAVA全栈工程师学习线路(建议收藏)

最后还不得不说 Java 目前最火的微服务,这也是一项必备技能:

  1. Spring Boot 基本原理
  2. Spring Boot 基础配置
  3. Spring Boot 整理视图层技术
  4. Spring Boot 整合 Web 开发
  5. Spring Boot 整合持久层技术
  6. Spring Boot 整合 NoSQL
  7. Spring Boot 构建 RESTful 服务
  8. Spring Boot 整合各种缓存
  9. Spring Boot 安全管理
  10. Spring Boot 整合 WebSocket
  11. Spring Boot 整合消息服务
  12. Spring Boot 整合 Swagger、邮件等
  13. Spring Boot 应用监控
  14. Spring Cloud Eureka、Consul
  15. 微服务注册与消费
  16. Spring Cloud OpenFeign
  17. 服务容错保护 Resilience4j
  18. Spring Cloud Zuul/Gateway
  19. Spring Cloud Config
  20. Spring Cloud Bus
  21. Spring Cloud Stream
  22. Spring Cloud Sleuth/Zipkin
  23. Spring Cloud Admin
  24. Spring Cloud Alibaba

第五阶段修炼成功后,让老板加波薪水应该是可以的吧!

九阳神功第六阶段

JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏)

第六阶段主要是修炼前端,前端这几年发展的非常快,早已经不是画页面了,JavaScript 被玩的越来越溜了,所以前端不可小觑:

  1. HTML5 新特性
  2. CSS3
  3. ES6
  4. JS 模块化
  5. less
  6. NodeJS
  7. Webpack
  8. Grunt
  9. Gulp
  10. Zepto
  11. mpvue
  12. AngularJS/Vue/React(非专业前端建议修炼其中一个即可)

JAVA全栈工程师学习线路(建议收藏)

修炼到这一层,练习到这一层,基本上前后端通杀,做个架构师,或者独立接私活妥妥的了。《乾坤大挪移》的作者据说也是这个层次。

九阳神功第七阶段

本层主要修炼:

《养发护发指南》

JAVA全栈工程师学习线路(建议收藏)

《颈椎病康复指南》

JAVA全栈工程师学习线路(建议收藏)

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

JAVA全栈工程师学习线路(建议收藏)


祝大家早日习得盖世神功!

附上手绘完整Java学习路线图:

JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏) JAVA全栈工程师学习线路(建议收藏)

原文:https://zhuanlan.zhihu.com/p/73671471(配图教程请点击原文)JAVA全栈工程师学习线路(建议收藏)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这