美文网首页
2020最新全面Java学习路线及视频(万字长文)

2020最新全面Java学习路线及视频(万字长文)

作者: 26a058e669f9 | 来源:发表于2020-10-28 13:16 被阅读0次

    声明,本人能力有限,只是列出来参考,不对之处欢迎指正。

    一门永不过时的编程语言——Java 软件开发。

    Java编程语言占比:

    据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以1000万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!

    Java工程师就业:

    1.通过各大招聘网站统计,全国海量公司都在招聘Java开发工程师

    2.北京Java开发工程师平均薪资,即19208元

    3.全国Java开发薪资前三:北京 上海 深圳

    Java到底学什么?

    很多人可以刚学完Java时完全不知道Java的结构是怎样的,导致学习的知识点零星、散落,这也是为什么明明很基础的内容,但是一段时间之后自己却想不起来是怎么写的。没有梳理知识的脉络,将所学打通,融汇于一处。废话了一通。

    Java学习路线

    共细分16个部分

    第一阶段_java开篇

    第2阶段 :JAVA语言语法

    第3阶段:集成开发工具的使用

    第4阶段:面向对象

    第5阶段:JavaSE进阶学习

    第6阶段 :数据库+JDBC

    第7阶段 :前端精讲

    第8阶段 :算法篇

    第9阶段 :JavaEE

    第10阶段 :工具的使用

    第11阶段 :Linux

    第12阶段 :SSM框架的使用

    第13阶段 :SpringBoot的使用

    第14阶段 : 面试篇

    第15阶段:微服务阶段

    第16阶段:分布式

    第一阶段_java开篇

    java初步 计算机语言的发展历史

    程序中常见错误

    编译方式扩展: classpath环境变量

    扩展 : JAVA_HOME 环境变量

    API

    代码量统计工具的使用

    单行注释和多行注释

    文档注释

    反编译工具的使用

    本章最后一段代码

    扩展面试题 :JDK ,JRE

    JAVA简史

    JAVA体系结构

    JAVA特性和优势

    JAVA核心机制之垃圾收集机制

    核心机制之 JAVA跨平台原理

    JAVA核心机制之对比C语言的跨平台原理

    JAVA常用的DOS命令

    notepad++的安装

    第一段程序_ 编译 _执行

    学习视频私信“学习”免费领取

    第2阶段 :JAVA语言语法

    数据类型 标识符

    关键字

    常量_字面常量

    变量的声明,赋值,使用 (重要

    变量的内存(重要)

    变量的作用域

    基本数据类型之整数类型变量

    基本数据类型之浮点类型常量的两种形式

    基本数据类型之浮点类型变量

    基本数据类型之字符类型(1-2)

    解释乱码问题

    基本数据类型之布尔类型

    基本数据类型转换问题

    习题:fifinal_字符常量

    习题 _ 加深对Scanner的使用

    运算符

    JAVA中的运算符概述

    算数运算符_除法 _取余

    算数运算符_加号

    算数运算符 _自增

    赋值运算符

    扩展数值运算符

    关系运算符

    逻辑运算符

    三元运算符

    位运算符

    运算符_总结

    运算符的优先级别

    流程控制

    引入

    分支结构_if单分支

    分支结构_if多分支

    随机数

    分支的嵌套使用_练习1

    分支的嵌套使用_练习2

    分支结构_switch分支

    循环结构_while循环

    循环结构_while循环练习

    循环结构_do-while循环

    循环结构_for循环

    循环结构_关键字break

    循环结构_关键字continue

    循环结构_循环练习

    循环结构_循环嵌套

    学习视频私信“学习”免费领取

    阶段项目:小鲨鱼记账软件

    引入

    项目最终效果演示

    整体结构完成

    登记收入

    登记支出

    收支明细错误细节

    退出功能

    学习视频私信“学习”免费领取

    方法的定义,调用,重载

    方法的定义和调用

    方法提取的练习

    面试题 _两个数交换是否成功

    方法的重载

    数组

    数组的引用

    数组的学习

    数组习题完善_数组的遍历方式

    数组的三种初始化方式

    数组的应用_最值问题

    数组的应用_查询问题

    数组的应用_添加元素

    数组的应用_删除元素

    详述main方法

    可变参数

    Arrays工具类的使用

    数组的复制

    二维数组的定义和遍历

    二维数组的初始化方式

    阶段项目:双色球彩票模拟系统

    需求介绍

    涉及技能点

    项目演示

    菜单展示

    购买彩票

    开奖整体结构完善

    生成中奖单号细节

    对比号码细节和完善

    学习视频私信“学习”免费领取

    第3阶段:集成开发工具的使用

    IDEA的基本使用教程

    IDE的概念

    JetBrains公司介绍

    Intellij IEDA介绍

    IDEA的下载_安装前的准备工作

    IDEA的卸载

    IDEA的安装和破解

    IDEA页面展示

    Module 的概念和使用

    IDEA的常用设置

    IDEA的常用快捷键

    代码模板是什么

    常用的代码模板

    修改代码模板

    创建代码模板

    断电调试_常用断点调试快捷键

    断点调试_条件判断

    断点调试_查看表达式值

    创建JavaWeb项目

    在IDEA中添加Tomcat的镜像

    在IDEA中配置Git

    在IDEA中配置Maven

    第4阶段:面向对象

    面向对象

    面向对象_面向过程和面向对象的区别

    面向对象_类和对象的关系

    面向对象_面向对象三个阶段

    面向对象_创建类

    面向对象_创建对象

    面向对象_局部变量和成员变量的区别

    面向对象_构造器

    面向对象_构造器的重载

    面向对象_内存分析

    面向对象_this的使用

    面向对象_static修饰属性

    面向对象_static修饰方法

    面向对象_代码块

    面向对象_ 包 _import _

    封装

    封装的总结

    继承的引入

    继承的代码演示

    继承总结

    继承的内存分析

    权限修饰符

    方法的重写

    super修饰属性 ,方法

    super修饰构造器

    super修饰构造器补充

    继承条件下构造方法的执行过程

    Object类的toSring方法

    Object类的equals方法(1)

    Object类的equals方法(2)_ instanceof

    Object类的equals方法(3)

    类和类之间的关系1

    多态

    多态内存分析

    向上转型_ 向下转型

    简单工厂设计模式

    fifinal修饰符

    抽象类_抽象方法

    接口(JDK1.8之前)

    接口(JDK1.8之后新增)

    内部类_ 成员内部类

    内部类_ 局部内部类

    阶段项目:比萨点餐系统

    项目需求

    项目结构分析

    父类子类创建

    测试类逻辑

    工厂类的提取

    学习视频私信“学习”免费领取

    阶段项目:贪吃蛇小游戏

    引入

    小蛇行动原理图

    将图片加载到程序中来

    创建窗体

    创建面板

    画静态的小蛇

    将蛇头按照行走方向改变

    加入监听,空格来控制游戏是否开

    小蛇向右动起来

    小蛇上下左右动起来

    画食物吃食物

    画积分

    死亡判定

    游戏打包

    图片中的学习视频私信“资料”免费领取

    第5阶段:JavaSE进阶学习

    异常

    异常的案例引入

    处理异常方式:if-else

    处理异常方式:try-catch捕获

    catch中处理异常的几种方式

    fifinally讲解

    多重catch

    异常的分类/层次结构

    throw和throws的区别

    异常练习

    重载和重写异常的区别

    自定义异常

    常用类

    包装类_引入

    包装类常用属性常用构造器

    包装类自动装箱自动拆箱

    包装类_常用方法

    日期相关_java.util.Date

    日期相关_java.sql.Date

    日期相关_SimpleDateFormat

    日期相关_Calendar

    日期相关_Calendar练习需求

    日期相关_Calendar练习完成

    日期相关_JDK1.8新增日期时间API的原因

    日期相关_JDK1.8新增LocalDateTime

    日期相关_JDK1.8新增LocalDateTim

    日期相关_JDK1.8新增DateTimeFormatter

    Math类

    Random类

    String的底层本质

    集合

    什么是算法什么是数据结构

    紧密结构,跳转结

    集合的引入

    简要集合结构图

    集合的应用场合

    Cllection接口的常用方法

    Cllection接口的遍历方式

    List接口

    ArrayList实现类JDK1.7源码

    ArrayList实现类JDK1 .8源码

    Vector实现类源码

    泛型的引入

    自定义泛型结构泛型类泛型接口

    自定义泛型结构泛型类泛型接口细节

    自定义泛型结构泛型方法

    自定义泛型结构泛型参数存在继承关系的情况

    自定义泛型结构通配符

    自定义泛型结构通配符使用的细节

    自定义泛型结构泛型受限

    LinkedList实现类的使用

    LinkedL ist简要底层原理图

    模拟LinkedList源码

    LinkedL ist源码解析(JDK1.8)

    iterator()面试题

    迭代器具体实现

    Listlterator迭代器

    Set接口介绍

    HashSet的特点

    HashSet的简要原理

    HashSet原理留下的疑问

    LinkedHashSet的使用

    比较器的使用

    TreeSet的使用及原理

    Map接口中常用方法1

    Map接口中常用方法2

    Hashtable的使用

    TreeMap的使用

    HashMap的原理简单介绍

    HashMap中重要属性

    HashMap的构造器

    HashMap的put方法

    HashMap底层数组的扩容

    HashMap的两个经典面试题

    HashSet底层原理

    TreeMap底层源码

    TreeSet底层源码

    Collections工具类

    IO流

    File类的引入

    File对文件的操作

    File对目录的操作

    I0流的引入

    FileReader读取文件内容(1.2)

    FileWriter写出数据操作

    FileReader,FileWriter完成文件复制

    警告-不要用字符流去操作非文本文件

    利用try-catch-fifinally处理异常方式

    FilelnputStream读取文件中内容

    FilelnputStream,FileOutputStream完成非文本文件的复制缓冲字节流(处理流)- BufferedInputStream ,BufferedOutputStream

    比对非文本文件复制的三种方法的效率

    缓冲字符流(处理流)-BufferedReader,BufferedWriter完成文本文件的复制

    转换流-InputStreamReader,OutputStreamWriter

    转换流-InputStreamReader,OutputStreamWriter实现文本文件的复制

    System类对I0流的支持

    练习:键盘录入内容输出到文件中

    数据流- DatalnputStream,DataOutputStream

    对象流序列化和反序列化

    实现Serializable接口

    serialVersionUlD

    IDEA中配置序列化版本号

    序列化细节

    多线程

    网络编程

    网络编程的引入

    InetAddress,InetSocketAddress

    网络通信原理套接字的引入

    TCP通信单向通信

    TCP通信对象流传送

    TCP通信加入完整的处理异常方式

    TCP通信_多线程接收用户请求

    UDP通信_单向通信

    UDP通信_双向通信

    UDP通信加入完整的异常处理方式

    UDP通信完整正常通信

    阶段项目:坦克大战

    new出一个窗口

    设定标题栏内容

    TankFrame从Frame继承+显示

    认识paint方法,重写

    学习graphics类,画图

    学习repaint方法

    实现MyKeyListener,对键盘作出响应

    MyKeyListener

    取得具体按键信息

    根据具体按键调整坦克位置,持有对方引用

    抽象出坦克类,学习使用枚举类型

    MyKeyListener,TankFrame

    用匿名内部类处理窗口关闭

    根据按键状态,改变坦克方向

    用双缓冲消除闪烁

    加一堆敌人坦克

    做碰撞检测

    显示爆炸

    加入声音

    让敌人坦克更加智能

    对坦克和子弹加入 Group属性

    测试Properties类的使用

    建立PropertyMgr类

    MV分开 Model View分离

    GameModel 改成单例模式

    对于碰撞的处理

    创建实例

    抽象出游戏物体的父类

    合成GameModel中的各种不同物体

    完善责任链模式

    加入墙

    按键切换发射策略

    实现暂停功能

    实现存盘功能

    使用Junit测试服务器loop

    去掉敌人的坦克(机器控制的坦克)

    处理接收到的消息

    player新的构造方法

    让后来人能看到先加入者

    加入坦克方向改变的消息

    重构代码

    处理改变坦克方向的消息

    发送主战坦克停止的消息

    发送主战坦克开始移动的消息(方向没变)

    加入子弹和Player的撞击逻辑

    把主战坦克也加入到List中

    完成坦克大战网络版

    根据坦克方向移动位置

    能停,能动

    test包,关于classloader的知识

    将坦克换成图片版

    画出一颗子弹,让子弹飞一会儿

    按下ctrl键,主战坦克打出一发炮弹

    打出多发子弹

    子弹从坦克中心位置打出

    子弹消亡(飞出游戏区)

    定义rectangle属性,不用每次都new

    炮弹new出来自动加入容器,死掉后自动去除

    分离玩家和机器人,对边界进行不同的处理

    JUnit

    Junit单元测试引入

    没有Junit的情况下如何测试

    Junit的使用

    @Before_ @After

    枚举

    引入自定义枚举类

    JDK1.5后使用enum关键字定义枚举类

    enum定义枚举类补充

    Enum类的常用方法

    枚举类实现接口

    枚举的应用

    注解

    注解的引入

    注解实例_Junit注解

    注解实例_文档注解

    注解实例_JDK内置的3个注解

    注解实例_替代配置文件的注解

    自定义注解

    元注解的概念解释

    元注解_Retention

    元注解_Retention补充

    元注解_Target

    元注解_Documented

    元注解_Inherited

    反射机制

    反射的引入

    反射概念

    Class类

    提供丰富的类

    获取字节码信息的四种方式

    可以作为Class类的实例的种类

    补充上面的丰富的类中的内容

    获取构造器和创建对象

    获取属性和对属性进行赋值

    获取方法和调用方法

    获取类的接口,所在包,注解

    关于反射的面试题

    第6阶段 :数据库+JDBC

    Oracle+MySQL+JDBC

    oracle安装介绍

    oracle SQL

    oracle函数和多表连接

    oracle的join语法及行专列

    oracle视图、用户管理、序列、DML

    数据库的事务

    数据库表的创建、表的约束、索引、数据库

    JDBC及代码分层

    反射技术实现及封装

    DBUtil及数据库连接池(dbcp、c3p0)

    数据库连接池(druid、hikariCP)及索引

    mysql的执行计划

    mysql的锁机制

    mysql的主从复制和读写分离

    MyCat

    MyCat第一讲.第二讲.第三讲

    第7阶段 :前端精讲

    HTML

    HTML和CSS的引入

    网络传输三大基石

    什么是HTML

    HTML的标准结构

    HBuilder的使用

    html_head_body标签

    head中可用标签

    文本标签

    多媒体标签

    超链接标签

    +

    超链接设置锚点

    列表标签

    列表标签

    内嵌框架

    内嵌框架练习 (1.2)

    框架集合

    form表单的作用

    form表单细节

    form表单练习模拟百度搜索

    表单元素(1)

    表单元素(2)

    HTML5新增type类型

    HTML5新增属性

    CSS

    CSS的引入

    CSS的三种书写方式

    明白学习CSS的重点

    选择器_基本选择器

    选择器关系选择器

    选择器_属性选择器

    选择器_伪类选择器

    练习:百度导航栏

    浮动的原理

    消除浮动影响

    定位_静态定位相对定位

    定位绝对定位

    定位_固定定位

    盒子模型引入

    盒子模型代码演示

    盒子模型练习题

    JS

    js介绍及内置功能函数、数据类型、变量

    js的变量及运算符

    js的流程控制语句

    js的函数基本使用

    js的数组和字符串的基本使用

    dom操作、常用方法、事件绑定

    echarts和js对象、函数上下文

    js构造函数、js原型链、继承及实战案例

    JQuery

    jquery简介、选择器、常用方法

    jquery的节点关系及函数操作

    jquery轮播图及函数库介绍)

    Ajax

    Http协议、php的基本介绍

    ajax基本原理及使用

    ajax的接受数据的方式及三级联通案例

    Vue框架的介绍及使用

    vue框架的介绍及使用

    vue框架的调色板、属性值监听、函数

    vue框架的生命周期、组件使用

    vue框架的高阶使用

    因文章内容过多分上下篇

    文章中图片真实可靠,需要学习视频私信“资料”二字免费领取

    如果觉得还不错的话,可以点点关注,和转发

    此文章为原创, 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    《Java学习、面试;文档、视频资源免费获取》

    相关文章

      网友评论

          本文标题:2020最新全面Java学习路线及视频(万字长文)

          本文链接:https://www.haomeiwen.com/subject/qnvxvktx.html