原文:https://zhuanlan.zhihu.com/p/73671471(配图教程请点击原文)
互联网技术,更新迭代迅速,用日新月异来说也不为过,所以,面对这这种大环境,对于码农尤其是那些对于初入职场的新手来说,该如何自我学习升级,往方向发展,这一点是大家都经常困惑的。
大部分人,刚开始学习的Java的时候,最大的问题就是不知道该学什么,以及学习的顺序,而这这也是很多初学者经常面临的问题。所以很多人黑猫白猫一起抓,而且现在学习资料也不缺,网上资料一大把,只是实在不知该从何下手。
其实,过来人都知道,精研某一个方向,或者走全栈路线,都是可以的,两种路线各有优缺点,没有必要非要整个争个高下。因为自己喜欢的,才是最好的。
结合十年来的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全栈工程师需要学习哪些知识
一、Java语言基础 Java语言是Java全栈工程师的核心技能,包括基础语法、面向对象编程、异常处理、集合、泛型等。此外,还需要熟悉Java的核心API,如IO流、多线程编程等。二、Web开发技术 Java全栈工程师需要掌握Web开发相关技术,如HTML、CSS、JavaScript等前端技术,以及后端开发技术如Spring框架、Servlet等。...
掌握全栈开发:Java工程师的必备技能
要成为Java全栈工程师,你需要具备哪些技能呢?首先,掌握Java作为后端开发语言至关重要。其次,前端技术的学习同样不可或缺,包括HTML、CSS、JavaScript等。接着,深入了解数据库原理与实践,对数据管理有深入理解。最后,对服务器管理有一定的知识与实践经验。IT培训已经成为热门选择,报名参加相关的培训课程...
java全栈工程师是什么
ja全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人。也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer。Ja全栈工程师需要具备的技能:1、熟练使用spring mvc,spring boot, mybatis,Hibernate,vue等框架;2、熟练使用Linux操作系统,能够独立搭建运营环境;3、能够独立进...
全栈工程师需要学什么
1. 编程语言与基础技能:全栈工程师需要掌握多种编程语言,包括但不限于JavaScript、Python、Java等。此外,还需熟悉前端开发技术,如HTML、CSS、前端框架。同时,对后端技术也要有深入了解,比如数据库操作、服务器部署等。2. 计算机科学基础:了解算法、数据结构、操作系统原理、计算机网络等基础知识,对于...
全栈工程师是什么
全栈工程师这个概念源于软件开发领域,特指一种全能型的软件工程师。他们不仅要掌握后端技术,如服务器架构、数据库管理、APIs设计等,还要熟悉前端技术,如用户界面设计、前端开发框架和交互逻辑等。这种综合性的技能要求,使全栈工程师能够参与到项目的整个开发过程中,从需求调研、设计到开发和维护阶段都能...
全栈工程师是什么意思
全栈工程师是指具备前端和后端技术能力的工程师。全栈工程师是指能够在软件开发过程中,同时掌握前端和后端技术栈的专业人士。他们具备全面的技术知识和能力,能够独立完成软件的全栈开发过程。全栈工程师的技术能力涵盖了前端开发、后端开发以及相关的测试、部署和运维工作。在前端方面,他们需要掌握HTML、CSS和...
什么叫全栈工程师,需要具备哪些知识和技能?
在网站开发领域,全栈工程师需要同时掌握前端开发语言如HTML、CSS、JavaScript,以及后端开发语言如Python、Java、Ruby等,同时具备数据库管理知识,包括MySQL、MongoDB等常用数据库的使用。然而,全栈工程师的定义并非一成不变。例如,在编译器项目中,全栈工程师不仅需要掌握前端和后端开发技能,还需要精通...
全栈工程师是什么意思(什么是全栈工程师)
全栈工程师是指掌握多种技能,胜任前端与后端,能利用多种技能独立完成产品的人。全栈工程师的工作职责有:管理产品设计方案选型;解决技术问题;制定开发规范;管理资源分配并完成目标;培养团队质量及优化质量管理;做好方案板块细节的把控;解决安全漏洞问题;全栈有前途吗 全栈是指掌握多种技术栈,可以...
全栈开发人员是什么(全栈开发是啥)
全栈工程师,也叫全端工程师,英文FullStackdeveloper,是指掌握多种技能,并能利用多种技能独立完成产品的人。 全栈工程师是指,一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。根据项目的不同,客户需要的可能是移动栈、Web栈,或者原生应用程序栈。 其实,“全栈”指的是为了完成一个项目,所需要的一...
什么是全栈工程师
全栈工程师是指具备前端和后端技术能力的全面开发人员。他们能够独立完成软件开发的全过程,包括需求分析、设计、开发、测试和部署等各个环节。在全栈工程师的技能栈中,既包含前端开发的技术,如JavaScript、HTML、CSS等,也包含后端开发的技术,如Java、Python、Ruby等编程语言和数据库操作等技能。此外,他们...