2020年初级Java后端工程师最全学习路线+学习资源(小白向)

本文面向想入行Java后端,之前没有软件开发经验或者只是了解部分编程的开发者。
这篇博客的意义:1、以后Java系列博客的大纲,2、将自己的学习路线记录下来
内容还是在更新阶段,文中的大部分内容后续都会慢慢更新我自己的理解和笔记。

好,话不多说,我们开始。

准备阶段:

一、JDK的下载(这里后面会更新):版本1.8即可
二、IDE:eclipse,myeclipse,IDEA,VScode。
这里简单介绍下:

IDE:集成开发环境环境(编辑器),作用是提高开发速度。要不然你就只能手动建个Java文件然后笔记本开发,然后在终端使用Java编译。

这里面eclipse,myeclipse,VScode都是免费的,IDEA需要付费(也有免费版不过好多功能不能用)
我是用IDEA的,我就介绍下IDEA:这个是对于在校生免费的,你可以去官网,用学校邮箱搞限免。

准备完,我们就可以开始Java之路了。

第一部分:JavaSE:也就是Java语言

这里有三个部分:

一、Java基本语法:

1、输入输出
2、基本变量
3、控制语句
4、循环
5、数组
6、字符串
7、文件操作
这部分与C语言想通,如果学过C直接看看有什么不同,就可以了。

二、面向对象编程:

这部分最核心的内容就是面向对象编程,主要包括:
1、类与对象,封装
2、接口
3、抽象类,内部类
4、继承
5、多态

三、Java高级特性:

这里是Java更高级的部分,主要内容:

1、集合框架 这里非常重要,也是面试中常考的内容

2、泛型
3、异常处理

4、多线程:这里也是巨重要,面试必考

5、网络编程:这里可以去看看计网和HTTP后面我们会用到
6、JDBC(这里推荐学了数据库再学这里)

7、反射机制:这里也很重要

8、注解(这里前期学不会也没问题,在后面学spring源码的时候学习也可以)

至此,我们已经学完了JavaSE的所有内容,你已经是个有点水平的开发者了。
但是学完后,你一定会有些郁闷,我学完了这些,我能做什么呢。
这个是每个开发者都会经历的事情,觉得学了和没学一样,什么都做不了,只能根据语言写写小逻辑,实现些小功能。
不过先别急,我们没有学swing(这个说真的没什么用,很少有用Java写客户端的)等学完JavaEE你就能够做个网站了(只是有点难)

学习资源:

一、书:不管是看视频还是看博客,最终都是要看书的

必推四大神书:Java核心技术卷(1,2):这里的2卷如果有时间看看也可以。
Effective Java
Java编程思想(神中神书)

入门书:

Head First Java
初学者,可以选择Head FIrst Java,或者Java核心技术卷1(和GUI相关的可以不看)

Effiective Java等书可以作为提高内容,让自己的JavaSE水平更nb
二、视频:尚学堂300集:这个很全,讲的也挺不错的。
三、网站:How2j:这个整合做的不错,内容也还可以,主要是这个每章后面有习题可以做一做。
链接:尚学堂Java300
How2J Java课程

学习建议:初学者不推荐看书,太慢,容易打消学习积极性。(当然效果是最好的)
可以先看视频,配着习题,在后面加深JavaSE的理解时,看书。

第二部分:JavaEE:Java平台企业版,用来做B/S结构软件,也就是网站。

JavaEE与JavaSE的关系:JavaEE是在JavaSE的基础上,加上其他方面的知识,推出的一个框架或者说标准。如果你想,完全可以用JavaSE去做JavaEE的功能(没啥必要),用JavaSE去封装HTTP协议等功能。

这部分说其实不多,最核心的就一个东西——————————servlet

一、TomCat服务器:(Web服务器相关的我们会单独开一文理一下)

TomCat文件结构解析
Ubuntu18.04配置TomCat

二、Servlet
三、监听器与过滤器
四、MVC设计模式(这个理论上不属于JavaEE,不过相关性很强这里就一起说了 )

学习资源:可以在下方评论自己的邮箱,或者私聊我,获得某学堂的课程
到这里,你已经可以做个功能完全的网站了,当然,非常简陋,UI也丑的一批。

第三部分:前端:让你在前面做的那个网站变得好看。

一、HTML
二、CSS
三、JS
四、Vue
可能会有开发者问,我一做后端的,为嘛要做学前端。哎~这个就不是很对,后端去了解前端的东西,有利于我们加深对整个业务的理解,对成长有好处。当然这里要求很低,了解即可

第四部分:数据库与JDBC

这里很重要,但是目前不用深耕,但是一定要深耕。
目前学下mysql,知道怎么做增删查改就行了,后面一定要深入

如果前面没有学JDBC,这里学完mysql后去学下JDBC。

第五部分:计算机基础知识

到这里,我不推荐继续去学框架,如果是非科班,一定去补下计算机基础知识:

数据结构:强推邓公的数据结构,虽然是C++的,但是和语言关联性不大
算法:可以去看看算法导论
数据库概论:东南大学的数据库原理或者中国人大的数据库概论
操作系统:清华陈喻的操作系统
计算机网络:

这些内容大概三个半月学完,怎么算你学好了:能独立开发网站,LeetCode能做做中等题,对基本的数据结构很熟悉,了解数据库的设计理念,知道操作系统是怎么对内存进行的操作,线程,进程什么的。
主要意思是:对以上的内容都有自己的理解,能讲出来就好了

你可能感兴趣的:(Java)