Java学习路线&资源

目录

前言

1.C语言

2.HTML

3.Java基础

4.计算机网络基础

5.MySQL基础

6.Java高级

7.Jsp

8.HTML5+CSS3+JQuery3

9.Linux系统基础

10.SSM框架

总结

Java其他框架

前端其他框架

微信小程序开发

人工智能

大数据

做项目


前言

学习Java首先要打好基础,也就是要先学习C语言,对C语言有一定的了解后,再去学习Java会比较轻松。有编程基础的同学也可以直接学习Java,只是这样会比较吃力一点!

下图是Java学习路线图(只是一个相对简单版本,如果所有都列举,不太可能,因为Java框架很多很多,所以只收一些主流框架!)下图中并不是所有技术都需要去学习,更多是按照项目实际需求去学习一些框架来满足技术要求!第一阶段、第二阶段、第三阶段是我们的必备技术!所以是必学内容!第四阶段以后的框架技术和一些前言技术是选择性的去学习!第四阶段中的技术我们主要是学习Spring框架、SpringMVC框架、MyBatis框架、Maven项目构建工具、Linux系统。(解释一下为什么还要学习Struts2、Hibermate,因为我们还有老项目在上线,所以维护老项目,肯定要涉及一些老的技术!其实,在实际中老项目比新项目要多!)

Java学习路线&资源_第1张图片


1.C语言

C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。

学习路线图

Java学习路线&资源_第2张图片

这是B站上的学习课程https://www.bilibili.com/video/av2831981?from=search&seid=10057147827464495433

这是我当时学习C语言的看一个课程,只要学习到"P49 指针09"就可以了!

注:b站是很好的一个学习网站,在上面我们可以学到很多的东西,所以同学们一定要加以利用网络资源!

 

2.HTML

超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。

html很简单,就是一些标签和css样式的使用与设置。这个比C语言学习起来要简单的很多。

课程1:https://www.bilibili.com/video/av21557880?from=search&seid=2799614248516055274

课程2:https://pan.baidu.com/s/1A5nwOku-wrVyXwW-g7Ic3w 提取码:1qfi

注:这两个课程选择其中一个适合自己的就可以了!不一定两个都要看!

 

3.Java基础

Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。

建议先从Java基础开始学习,学完数据库基础后再学Java高级!

当然大家可以一次把Java基础和Java高级的内容学完!只是这样学起来会有些困难!有能力的同学可以尝试!

学习路线

Java学习路线&资源_第3张图片

课程1:https://www.bilibili.com/video/av33655233/?p=129,Java基础是到"P129 黑马程序员_毕向东_Java基础视频教程第10天-10-面向对象(jar包)",当然想学习Java高级的同学也可以接着学习下去!

课程2:https://www.bilibili.com/video/av11361088?from=search&seid=4914192440156778861 这个课程看到最后一集

课程3:链接:https://pan.baidu.com/s/1l39IDT7CXtbmJ8lhQ3ebtA 提取码:tkj5 

注:这三个课程选择其中一个适合自己的就可以了!不一定三个都要看!

推荐一个学习Java很好的在线网站http://how2j.cn/

 

 

4.计算机网络基础

这个课程不要求掌握,但是要理解计算机网络的知识点。

课程:https://www.bilibili.com/video/av9876107?from=search&seid=17805693927792318032

 

5.MySQL基础

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

我们做后端开发的一定一定要学好数据库,数据库是我们开发后端的根本所在!

学习路线

Java学习路线&资源_第4张图片

课程1:https://www.bilibili.com/video/av19538278/?p=46

课程2:https://pan.baidu.com/s/1-ZMI286AHeGr4kZhszUjYA 提取码:6vs1 

注:这两个课程选择其中一个适合自己的就可以了!不一定两个都要看!

mysql参考文档:https://www.jb51.net/books/11598.html

 

6.Java高级

学习路线

Java学习路线&资源_第5张图片

 

课程1:https://www.bilibili.com/video/av30023103?from=search&seid=14069597169908983132 从“第 P166 集开始是Java高级内容”

对于有能力的同学,学完Java基础与Java高级后,建议复习一遍,复习可以看这个视频https://www.bilibili.com/video/av48065654?from=search&seid=14210079373162130659,这样可以达到巩固自身基础知识,也为学习Java框架技术打下坚实的基础!!!(这是属于打通关类的视频建议有能力的同学去尝试,而基础不扎实的同学,要需要多多补一补我们的基础知识点。)

 

7.Jsp

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为 *.jsp 。JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

学习路线

Java学习路线&资源_第6张图片

课程1:https://www.bilibili.com/video/av29086718?from=search&seid=2105344641152987220

8.HTML5+CSS3+JQuery3

html5+css3

课程1:https://www.bilibili.com/video/av51518146?from=search&seid=5367083793994941733

Bootstrap前端框架

课程1:https://www.bilibili.com/video/av10636408?from=search&seid=16319466254992366215

课程2:https://pan.baidu.com/s/1v1Ke841WCt4ecPV7QJSgvw提取码:k16j

参考文档:https://v3.bootcss.com/getting-started/

学习Jquery前需要学一下JavaScript,JavaScript是基础

JavaScript

课程1:https://www.bilibili.com/video/av29885002?from=search&seid=8078834176247186699

课程2:https://pan.baidu.com/s/1sAXYUrh3SI-CmSLIyaEL-g 提取码:l18r 

参考文档:https://www.w3school.com.cn/jsref/index.asp

JQuery

课程1:https://www.bilibili.com/video/av22807707?from=search&seid=2169716457573431790

课程2:https://pan.baidu.com/s/1sfWVQZy0hMAb1scXJdXiSQ 提取码:87lz 

注:如果是走后端开发的同学,对于前端的学习重在会使用就可以了,不作要求掌握。那么我们的JavaScript只要会基础的部分的就可以了,JQuery会ajax就可以了!

 

9.Linux系统基础

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

如果想从事实施、运维的同学一定要学好linux系统!

课程1:https://www.bilibili.com/video/av47267421?from=search&seid=11974790661722992846

课程2:https://pan.baidu.com/s/1E4wkUu5MISVEeSD2nD9Y5A 提取码:5jdy 

 

10.SSM框架

SSM是指 Spring + Mybatis + SpringMVC,这三个框架一般是组合起来一起使用!

Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。

下图是Spring架构图

Java学习路线&资源_第7张图片

Mybatis

平时我们都用JDBC访问数据库,除了需要自己写SQL之外,还必须操作Connection, Statement, ResultSet 这些其实只是手段的辅助类。 不仅如此,访问不同的表,还会写很多雷同的代码,显得繁琐和枯燥。

那么用了Mybatis之后,只需要自己提供SQL语句,其他的工作,诸如建立连接,Statement, JDBC相关异常处理等等都交给Mybatis去做了,那些重复性的工作Mybatis也给做掉了,我们只需要关注在增删改查等操作层面上,而把技术细节都封装在了我们看不见的地方。

Mybatis架构图

Java学习路线&资源_第8张图片

SpringMVC

Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果的概念。Spring MVC 是 Spring 产品组合的一部分,它享有 Spring IoC容器紧密结合Spring松耦合等特点,因此它有Spring的所有优点。

SpringMVC架构图

Java学习路线&资源_第9张图片

SSM课程1:https://www.bilibili.com/video/av29422149?from=search&seid=6967464082328929656

SSM课程2:https://www.bilibili.com/video/av35988777?from=search&seid=6967464082328929656

 

未完待续!!


总结

学完以上的内容基本上大一到大三的专业课程已经学完了,剩下的就是Java框架高级部分的内容这部分,这部分内容需要大家有一定的JavaWeb基础才能学得更加轻松,直接学习会有一些困难!


Java其他框架

下面这框架的学习资料一般在b站上都可以找到!所以我就不发链接了! 因为有spring,这些框架可以进行随意组合,组合方式有很多种,所以在这里不可能把所有的组合都列举出来!其实,这些框架都是按照实际需要去学习的!

Java学习路线&资源_第10张图片

Java学习路线&资源_第11张图片


前端其他框架

目前主流的框架一般是Angular、React、Vue

Vue:Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

课程1:https://www.bilibili.com/video/av27969216?from=search&seid=13814820254802389028

React:React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

课程1:https://www.bilibili.com/video/av51174155?from=search&seid=1086299321472060697

Angular:AngularJS是一款由Google维护的开源JavaScript库,用来协助单一页面应用程序运行。它的目标是透过MVC模式(MVC)功能增强基于浏览器的应用,使开发和测试变得更加容易。学习Angular框架需要有NPM 和 TypeScript的基础!

课程1:https://www.bilibili.com/video/av38362631?from=search&seid=7382004106246183861


微信小程序开发

简介

课程1

开发参考文档


人工智能

 

我主要是研究人工智能的深度学习方向,比如搞图片识别,视频识别等。

阶段

主要模块 学习内容
第一阶段 环境搭建

1.PC操作系统

Ubuntu16.04 64 位

2.开发语言

Python 3.6.5 64bit

3.开发工具

Pycharm 2018.2.4 或者更高

4.深度学习框架

TensorFlow 1.12.0

5.高层神经网络 API 

Keras 2.2.4

6.模型训练可视化组件TensorBoard 1.12.2

7.文档编辑器 

WPS linux版

8.输入法 

搜狗拼音输入法 linux版

第二阶段 GPU环境搭建(要求显卡为N卡) 参考文档
第三阶段 Python使用

1.变量,函数,模块

2.字符串及其操作

3.列表与元祖

4.条件、循环等控制流

5.面向对象与类

第四阶段 数学基础

1.数学思维

2.线性代数

3.概率论

第五阶段 AI基础

1.基础神经网络

神经元,激励函数,基本结构(输入层、隐藏层、输出层),反向传播算法

2.卷积神经网络

卷积层,激活层,池化层,全连接层,Dropout,Batch Normalization,CNN经典网络架构

第六阶段 Tensorflow

1.基础概念

数据流图,张量,变量,操作,会话,优化器

2.API

Keras

3.工具库

Tensor2Tensor

 

环境搭建Ubuntu

https://blog.csdn.net/a145127/article/details/88368791

学习Python语言

推荐runoob的教程:http://www.runoob.com/python3/python3-tutorial.html

面向对象不需要过多深入学习,比赛是面向过程式编程。

Python高级教程(如网络编程、多线程等)不需要学习,比赛用不到。

注意事项:

学习Python3:Python3和Python2有一些细微的语法差别(例如print在Python2里是关键字,而在Python3里却变成了函数)我们需要使用的是Python3。

多加探究os模块:学会使用os关于文件的一般操作。如:列出文件夹下的所有文件、查看一个文件是否存在、查看该文件是否为文件夹、创建文件夹等。

会研究错误和异常:当程序因为一个错误而终止时,能够从报错输出中找到错误代码的位置,根据异常类型推断出错原因并修复它。

TensorFlow环境搭建

参考https://tensorflow.google.cn/install/pip

(该教程中的所有代码题目可以不做,之后学习TensorFlow的时候会有另外的代码练习题)

学习TensorFlow基本用法

学一些简单的TensorFlow使用方法,但不需要太过深入的学习。

在这之前先了解一些矩阵和张量的概念,会对学习更有帮助。

创建变量和常量

简单的张量计算(加减乘除、求和、求平均值等)

placeholder的使用

创建并使用会话

TensorFlow图片处理工具

机器学习入门

推荐《机器学习速成课程》:https://developers.google.cn/machine-learning/crash-course/

要求:

明白样本、标签和特征的概念,理清三者之间的关系。

明白梯度下降法的原理,了解学习率、损失值对它的影响。

明白为什么要划分训练集和测试集以及验证集,为什么会出现过拟合/欠拟合的现象。

理解L1、L2正则化的工作原理,了解它的作用。

了解精确率和召回率的关系:精确率高的模型就一定很好吗?

了解梯度消失、梯度爆炸等概念。

了解各个激活函数的图像以及它们的适用领域。

了解各个优化器的优化效果以及它们的适用领域。

学习Keras

参考https://keras.io/zh/

在学习完《机器学习速成课程》之后,马上使用Keras对所学知识进行复习。

学会构建模型,编译模型、训练模型。

完成Keras官方提供的所有数据集。

学会使用TensorBoard记录训练数据。

学会使用Keras的预处理库:加载图片、图片预处理、独热编码转换、文本处理。

学习OpenCV

主要了解如何使用OpenCV对图像进行一些简单的处理即可。

了解卷积原理

学会从视频、摄像头中读取单帧图片

学会加载OpenCV官方提供的模型,从图片中找出对应物体(人脸、猫脸等)

学会从图中截取小图片

学会在图片中画方框

学会将图片保存至文件

TensorFlow

只使用TensorFlow架构并训练模型。

完成Keras和TensorFlow官方提供的所有数据集。

在kaggle官网上下载数据集并独立完成模型的训练

环境搭建centos7

https://blog.csdn.net/a145127/article/details/88763599


大数据

其实,大数据前面的知识也是JavaWeb,所以我们有了JavaWeb的基础可以直接选择大数据方向,也就是我们可以同时学习两门专业,JavaWeb + 大数据,这样可以提升我们竞争力!

尚硅谷大数据学科全套视频 纯视频版 链接:https://pan.baidu.com/s/1i1FufMnWxo1s8nAK-6bNIg  提取码:ayfz

含源码版链接:https://pan.baidu.com/s/1ncHdmTIrMPFXXlkhDO0B5Q 提取码:d6xm

如果失效,请加飞飞qq:1077519186反馈,开源不易,常被举报,望耐心等候


做项目

推荐一本书籍给大家《Java编程思想》,这本书对我们学习Java专业的同学很有帮助!

 

当大家学习完,所有的课程后可以开始做项目开发了!比如:JavaWeb网上图书商城完整项目、JavaWeb聊天室。链接:https://pan.baidu.com/s/1yr_S1vJDhu8dbHE1RfCdqQ 提取码:tW25

这一套视频是黑马程序员,从开班到结束的一套视频,也就是一个完整版的视频:https://pan.baidu.com/s/1MYqrNYmcoJUemxkfQFUqPQ 提取码:gn9p

 

 

你可能感兴趣的:(Java学习路线&资源)