前言

现在这个环境,如果你还是选择了Java服务端开发。怎么循序渐进地进行系统地学习呢?下文整理了一些思路,主要是面向Java服务端开发。

计算机基础

如果你在大学学习的是计算机专业,这些计算机基础课程应该都有了解。很多东西虽然可能不会直接用到工作上,但是有可能会决定了你的技术天花板有多高。

C语言

为什么要学习C语言?因为它较为基础,东西也不是很多,学习它可以习得一般的编程思维。语言这种东西,都是一通百通的。

数据结构与算法

数据结构与算法,先不说它是大厂面试必备环节,也会影响你如何解决实际问题的思路。

计算机网络

网络编程对服务端研发是比较重要的知识

数据库原理

操作系统

进程管理、内存管理、磁盘与文件系统等的知识

计算机组成原理

从更加底层的层面上介绍了计算机如何组成的,如何为操作系统提供服务的。

  • 蒋炎岩好像也有讲,我上学时学得也比较艰难…

服务端编程

Java(大一)

Mysql(大一)

Linux(大一)

学会基本的命令操作,可以进行简单的运维部署以及shell编程。

  • 作为服务器,比windows消耗的资源少得多。

Docker(大一)

容器化技术,很推荐学习一下这个,哔哩哔哩上UP主“遇见狂神说”也有教程。它不仅仅是时尚潮流,学会它,在后续搭建集群什么的,方便很多。

Spring系列(大二)

Java服务端程序员必知必会的框架,没有之一。是一个系列,Spring、SpringMVC、MyBatis、SpringBoot、SpringCloud等

  • 通过哔哩哔哩等网站进行免费的视频教程学习,基本要求是可以利用框架进行较为熟练的开发,可以综合利用各种工具实现你的目的,这个时候才算是一个“合格”的服务端程序员。

  • 跟着实现一遍,Spring就没那么神秘了:黄勇《架构探险――从零开始写Java Web框架 : 从零开始写Java Web框架

  • 学生时代的项目,很多都不是微服务架构的。所以SpringCloud我认为了解即可。

Redis(大二)

基于内存的NoSQL数据库,掌握其基本使用,了解其重要的原理即可

Jvm与并发编程(大二)

其它工具(大三)

  • 如微服务、MQ、ES等,还有其它工具:为什么没有列举出来?我的个人观点:框架、工具这么多,我们每个人不可能个个精通。学会怎么使用它们,了解其基本原理即可,要深入研究时再去深入学习。

架构系列(大四)

  • 当你在大四或者毕业一两年之后,回头看,应该对服务端开发都有一个整体上的了解了。男人过了20岁,就要看周志明的《凤凰架构》

数据开发编程

在学校学习或者自学的过程中,我们大部分都是学的是通用的服务端开发技术,实际工作时,可能会接触到各种领域的东西,这就需要我们在前面的知识面上继续拓展了。如在大数据时代下,学习数据开发知识也不是一件坏事,下面列出的几个知识点,都可以在哔哩哔哩上找“尚硅谷”的教程,一个系列的,比较全面。

  • 推荐一本书,阿里巴巴的《大数据之路
  • 学些啥
    • Hadoop
    • Hive
    • Zookeeper
    • Kafka
    • Flink

怎么学习以及拓展技术深度

  • 万丈高楼从底起,学习一门技术,一般都是需要循序渐进,从易到难地学习。学习过程中,多关注一些技术公众号,进行思维的拓展,不要只着眼于自己的一亩三分地,看看外面的世界吧~