Java服务端开发学习路线
前言
现在这个环境,如果你还是选择了Java服务端开发。怎么循序渐进地进行系统地学习呢?下文整理了一些思路,主要是面向Java服务端开发。
计算机基础
如果你在大学学习的是计算机专业,这些计算机基础课程应该都有了解。很多东西虽然可能不会直接用到工作上,但是有可能会决定了你的技术天花板有多高。
C语言
为什么要学习C语言?因为它较为基础,东西也不是很多,学习它可以习得一般的编程思维。语言这种东西,都是一通百通的。
数据结构与算法
数据结构与算法,先不说它是大厂面试必备环节,也会影响你如何解决实际问题的思路。
- 程杰《大话数据结构》
- 何海涛《剑指Offer : 名企面试官精讲典型编程题》
- 视频教程《极客时间算法训练营》
- 实践地址:leetcode、牛客网刷题
计算机网络
网络编程对服务端研发是比较重要的知识
《图解HTTP》
谢希仁《计算机网络(第7版)》,一般大学的教材,更加成体系
视频教程 韩立刚 《计算机网络》,围绕上面谢希仁的书籍开讲的视频,可以结合书本来看。
数据库原理
- 经典教材:王珊 / 萨师煊 《数据库系统概论(第5版)》
操作系统
进程管理、内存管理、磁盘与文件系统等的知识
计算机组成原理
从更加底层的层面上介绍了计算机如何组成的,如何为操作系统提供服务的。
- 蒋炎岩好像也有讲,我上学时学得也比较艰难…
服务端编程
Java(大一)
- 面向服务端程序员的书籍:李兴华《第一行代码 Java 视频讲解版》
Mysql(大一)
Linux(大一)
学会基本的命令操作,可以进行简单的运维部署以及shell编程。
- 作为服务器,比windows消耗的资源少得多。
Docker(大一)
容器化技术,很推荐学习一下这个,哔哩哔哩上UP主“遇见狂神说”也有教程。它不仅仅是时尚潮流,学会它,在后续搭建集群什么的,方便很多。
Spring系列(大二)
Java服务端程序员必知必会的框架,没有之一。是一个系列,Spring、SpringMVC、MyBatis、SpringBoot、SpringCloud等
通过哔哩哔哩等网站进行免费的视频教程学习,基本要求是可以利用框架进行较为熟练的开发,可以综合利用各种工具实现你的目的,这个时候才算是一个“合格”的服务端程序员。
跟着实现一遍,Spring就没那么神秘了:黄勇《架构探险――从零开始写Java Web框架 : 从零开始写Java Web框架》
学生时代的项目,很多都不是微服务架构的。所以SpringCloud我认为了解即可。
Redis(大二)
基于内存的NoSQL数据库,掌握其基本使用,了解其重要的原理即可
Jvm与并发编程(大二)
经典必读:周志明《深入理解Java虚拟机(第3版) : JVM高级特性与最佳实践》
经典必读:方腾飞 / 魏鹏《Java并发编程的艺术》
其它工具(大三)
- 如微服务、MQ、ES等,还有其它工具:为什么没有列举出来?我的个人观点:框架、工具这么多,我们每个人不可能个个精通。学会怎么使用它们,了解其基本原理即可,要深入研究时再去深入学习。
架构系列(大四)
- 当你在大四或者毕业一两年之后,回头看,应该对服务端开发都有一个整体上的了解了。男人过了20岁,就要看周志明的《凤凰架构》
数据开发编程
在学校学习或者自学的过程中,我们大部分都是学的是通用的服务端开发技术,实际工作时,可能会接触到各种领域的东西,这就需要我们在前面的知识面上继续拓展了。如在大数据时代下,学习数据开发知识也不是一件坏事,下面列出的几个知识点,都可以在哔哩哔哩上找“尚硅谷”的教程,一个系列的,比较全面。
- 推荐一本书,阿里巴巴的《大数据之路》
- 学些啥
- Hadoop
- Hive
- Zookeeper
- Kafka
- Flink
怎么学习以及拓展技术深度
- 万丈高楼从底起,学习一门技术,一般都是需要循序渐进,从易到难地学习。学习过程中,多关注一些技术公众号,进行思维的拓展,不要只着眼于自己的一亩三分地,看看外面的世界吧~