java全栈工程师

Python016

java全栈工程师,第1张

原文: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(非专业前端建议修炼其中一个即可)

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

九阳神功第七阶段

本层主要修炼:

《养发护发指南》

《颈椎病康复指南》

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

Enhanced for Loop - This new language construct eliminates the drudgery and error-proneness of iterators and index variables when iterating over collections and arrays.

用法

增强for循环代替了一些原来的for循环的使用,使语句含义上更合理

被遍历的表达式必须是数组类型或者实现了Iterable接口,循环变量前面除了可以加类型之外还可以加修饰符,例如final之类的

例子

1: public static void main(String[] args) {

2: // TODO Auto-generated method stub

3: ArrayList<String>al = new ArrayList<String>()

4: al.add("1")

5: al.add("2")

6: al.add("3")

7: for(String str : al){

8: System.out.println(str)

9: }

10:

11: int[] arr = new int[]{1,2,3}

12: for(int i : arr){

13: System.out.println(i)

14: }

15: }