读者问:学完SSM,该学什么呢?
这是三歪的第390篇原创文章
在之前,我写过一篇《如何入门Java的文章》,无论是看公众号还是各大的博客的同学大多数都是比较认可我所讲的路线的。
那篇文章讲述了从零入门Java的路线是怎么走的,应该学习什么技术栈,什么知识点,学习的时候可能要注意些什么。
那边文章的末尾是到SSM/SpringBoot
就结束了,我也认为对Java后端入门大概得了解到的知识。
我的读者们也长大了,最近不少的同学在群里边问:学完SSM/SpringBoot
了,该下来该学什么技术。
于是,我知道我该来讲讲我的看法了。
每个人的学习路线都不一样,如果是你,你会给出什么样的建议呢?不妨在评论区下留言。
路线
学完SpringBoot/SSM
了,那我就默认这些同学都对Java后端其实有一定的了解了。
假设你还没做过一个项目,那这时候你应该去做一个项目来巩固一下自己所学到的知识,最好自己从零开始做一个自己喜欢的东西(可以是博客、可以是爬虫、可以是...)
可能这时候的你可能觉得自己还有一堆不懂的技术,还不足以支撑去从零写一个项目。
“我还不会Linux,我知道现在的项目都部署在Linux上,但我还不会。”
“我的项目里希望有注册登录的功能,但我还没学习权限管理框架。”
“我的项目里希望有搜索,但我还没学习全文搜索引擎,Elasticsearch、Solr这些我仅仅是听过有这些框架。”
“我的项目感觉没有什么技术含量,写出来好像也没啥意思...”
“.....”
不管怎么说,在这个时间点上, 你就应该具备写项目的能力。可能你感觉你目前所学到的技术,会令这个项目显得单薄。但实践出真知,学完的知识点是需要去使用的。
项目都是迭代出来的,假设你不会全文搜索引擎,不会Redis,那第一版就是简单的CRUD
,我认为没什么问题,先部署起来再说呗。
OK,到这里为止,我就默认你已经有自己的一个小项目了。
假设离你找工作的时间已经不多了(可能还有一个月就要去面试了),我认为这个时候你就得去准备面试。
面试是需要准备的,可能你每天写一个Map
,就new
出来就好了。但面试的时候可不会考察你能不能new
出一个Map
出来,而是。你用的这个Map
底层数据结构是什么,new
出来的Map默认的大小是多少,为什么大小是这个?你put
的时候,里边做了什么操作,get
的时候又做了什么操作....
总之,从你编写简历到真正面试,需要至少留半个月给自己去准备面试题。
OK,到这里为止,我就默认你短时间内没有面试压力(可能你通过了面试,拿到了offer已经入职了。也有可能你才大一,离面试还有很长的时间)。
假设你刚入职了,先把重心放在工作上的需求或系统上,自己负责的系统给搞熟悉了。
假设你入职已经有一段时间了,又或是你还是学生,还没有面试压力,学点自己感兴趣的东西。
你能看到我这篇文章,说明你是一个逛论坛或者会经常看博客的人。经常看论坛和博客的人肯定会看到各种你不了解的技术,比如说:Redis
/Kafka
/Flink
/HBase
/Elasticsearch
/Zookeeper
/Docker
/Tenserflow
/Hive
....等等等
这时候有人可能就会说:”这些貌似都是大数据的东西啊,我一个做Java后端的,怎么搞这些啊?“
我有的时候也会更新这方面的文章,可以发现的是这些文章看的人并不多。他们也会留言问我:
”三歪,你是不是转大数据啦。“
”三歪,你是不是转机器学习啦。“
”三歪,你这不是一个Java号吗?“
”....“
其实不是这样的,上面这些技术都是在现实开发中经常能用到的。至少作为Java后端,只要公司的技术还算新,那这些技术多多少少都会用到或是能依赖到。
使用这些技术框架和维护/开发这些技术框架是两种角色,前者其实还是一个Java后端,后者是大数据开发工程师了。
总的来看,实际上也没分得那么清。像我组内有个大牛,业务能力很强,大数据方面的能力也很强,撸了很多大数据相关的源码,最近也去支持公司的大数据上云了。
很可能你觉得现在在一家小公司用不上,但等你学会了,跳槽一家会使用这些技术栈的公司不就好了么。不管怎么样,上面说提到的大部分技术框架都是一个比较好的学习方向。
当你觉得没事做了,可以去看看上面提到的技术栈。
那怎么学呢?上面这些技术栈的学习路线是什么呢?很多同学可能公司就是没用到,不了解它的应用场景。
首先,还是那一句:”在学习某项技术之前,你先了解它能干什么,它解决了什么问题,为什么以前会出现这个问题,它是怎么很好地解决的。“
不完全路线我认为可能这样会比较合适:Redis
->Zookeeper
->消息队列(Kafka)
->Elasticsearch
->HDFS
->(实时计算框架)Flink
->HBase
->Tenserflow
...
现在问题来了,假设三歪上面所讲的那些大部分都已经学过了,后面该学什么呢?
三歪:”别装了,你已经是个老手了,该学什么你肯定会有自己的看法了。“
文中的大部分知识点三歪都已经写过了,我觉得我写得还算是通俗易懂的,如果还没写到的知识点,那就是我后面要更新的方向。
如果是你,你会给出什么样的建议呢?不妨在评论区下留言,我们来一起交流
各类知识点总结
下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~
- 92页的Mybatis
- 129页的多线程
- 141页的Servlet
- 158页的JSP
- 76页的集合
- 64页的JDBC
- 105页的数据结构和算法
- 142页的Spring
- 58页的过滤器和监听器
- 30页的HTTP
- 42页的SpringMVC
- Hibernate
- AJAX
- Redis
- ......
- HDU 2639 Bone Collector II(01背包变形【第K大最优解】)
- 专知内容生产基石-数据爬取采集利器WebCollector 介绍
- python实现字符串模糊匹配
- 动态规划之01背包详解【解题报告】
- hihoCoder #1078 : 线段树的区间修改(线段树区间更新板子题)
- HDU 2546 饭卡(01背包裸题)
- 漫谈文件系统
- AI知识搜索利器:基于ElasticSearch构建专知实时高性能搜索系统
- 【深度干货】专知主题链路知识推荐#5-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程01
- hihoCoder #1043 : 完全背包(板子题)
- 【深度干货】专知主题链路知识推荐#7-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程02
- hihoCoder #1038 : 01背包(板子题)
- 最小二乘法多项式曲线拟合原理与实现
- HDU 1166 敌兵布阵(线段树单点更新,板子题)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spark MLlib中KMeans聚类算法的解析和应用
- 通过 PHP 代码发送 HTTP 响应与文件下载
- 玩转 PhpStorm 系列(八):Vim 篇
- Android-Jetpack笔记-Paging结合数据库
- 分享 OWIN 静态文件处理中间件
- Android-Jetpack笔记-Paging结合网络数据
- 在 VS 2015 中使用 Gulp 编译 TypeScript
- Android-Jetpack笔记-WorkManager
- Android | Tangram动态页面之路(一)需求背景
- 吐槽 Micorsoft.Owin 的设计
- Android | Tangram动态页面之路(二)介绍
- 使用 ng-repeat-start 进行自定义显示
- AngularJS 多视图应用中的登录认证
- Android | Tangram动态页面之路(三)使用
- Android | Tangram动态页面之路(四)vlayout原理