Java学习教程,Java从入门到精通,全套Java视频教程+笔记+配套工具

2023-11-12

目录

一、大纲

一、Java基础

二、计算机基础

三、工具的使用

四、数据库

五、web前端

六、JavaWeb

七、框架

八、互联网分布式技术


发现身边很多自学java却放弃的,真的挺可惜的。

白白浪费了几个月宝贵的时间,且放弃一次,就会有下一次。

如何学习Java并成功?——要有一个清晰的目标!

比如培训还是其他学习方式,都是达成目标的一个方法,这个方法不够,可以找别的方法来达成目标。

所以,在学Java前希望你想清楚,你想不想成为一个程序员,想得话就做好准备,知道自己选择的是什么

当然,一个随便放弃的人,也不适合做程序员。——毕竟老板给你安排任务,你告诉他你放弃了?

再说下我,不知不觉踏入互联网行业已经四年了。

回顾当初第一次接触Java,是在大学的课堂,晦涩难懂的知识点,现在还能想起被期末考试支配的恐惧。

直到踏入互联网这个行业,再回想一下自己整个入行到工作的历程,总结了一下学习Java的路线,希望可以帮到各位初入行的Java小白。

一、大纲

多数事情,都要有目标的行动,行动为了完成目标。还可以把目标写下来或打印出来,贴到身边明显的地方,有利于督促自己。

学Java,但是不能只学Java,因为在计算机这棵大树中,Java只是一片叶子。

一个合格的Coder,除了Java,还需要熟悉操作系统、计算机网络、数据库、前端、中间件、框架等等这些东西,如果要成为一个Top Coder,项目管理、英语、沟通、算法也很重要。

就针对就业来说,个人觉得掌握 Java基础、计算机基础、工具的使用、数据库、web前端,Javaweb,框架使用、Linux、中间件,就算一个入门级的Coder了。

一、Java基础

我把 Java 基础部分真正要学的内容列一下。

01、Java 简介

  • Java语言概述
  • Java中JDK、JRE、JVM三者之间的关系
  • Java中public class与class
  • Java标识符与关键字
  • Java 变量
  • Java 数据类型
  • Java运算符
  • Java 表达式 & 语句 & 代码块
  • Java中的注释

02、Java 控制语句

  • Java if else
  • Java switch 语句
  • Java for 循环
  • Java while 循环
  • Java break 语句
  • Java continue 语句

03、Java 数组

  • Java 数组
  • 多维数组
  • Java 数组复制

04、Java 面向对象(1)

  • Java 类和对象
  • Java 方法
  • Java 方法重载
  • Java 构造方法
  • Java 字符串
  • Java 访问权限
  • Java this 关键字
  • Java final 关键字
  • Java 递归
  • Java instanceof 操作符

05、Java 面向对象(2)

  • Java 继承
  • Java 方法重写
  • Java super 关键字
  • 抽象类 & 抽象方法
  • Java 接口
  • Java 多态
  • Java 封装

06、Java 面向对象(3)

  • 嵌套&内部类
  • Java static 关键字
  • Java 匿名内部类
  • Java 单例
  • Java 枚举类
  • Java 枚举构造方法
  • Java 枚举字符串
  • Java 反射

07、Java 异常处理

  • Java 异常简介
  • Java 异常处理
  • Java try catch
  • Java throw 和 throws
  • Java 捕获多个异常
  • Java try-with-resources
  • Java 注解
  • Java 注解类型
  • Java 日志
  • Java 断言

08、Java 集合

  • Java 集合框架
  • Java 集合接口
  • Java List 接口
  • Java ArrayList
  • Java Vector
  • Java Stack

09、Java 队列

  • Java 队列接口
  • Java 优先级队列
  • Java 双端队列接口
  • Java LinkedList
  • Java 数组队列
  • Java 阻塞队列接口
  • Java ArrayBlockingQueue
  • Java LinkedBlockingQueue

10、Java Map

  • Java Map 接口
  • Java HashMap
  • Java LinkedHashMap
  • Java WeakHashMap
  • Java EnumMap
  • Java SortedMap 接口
  • Java NavigableMap 接口
  • Java TreeMap
  • Java ConcurrentMap 接口
  • Java ConcurrentHashMap

11、Java Set

  • Java Set 接口
  • Java HashSet
  • Java EnumSet
  • Java LinkedHashSet
  • Java SortedSet 接口
  • Java NavigableSet 接口
  • Java TreeSet
  • Java 集合算法
  • Java 迭代器接口
  • Java ListIterator 接口

12、Java 字节流

  • Java IO 流简介
  • Java InputStream
  • Java OutputStream
  • Java FileInputStream
  • Java FileOutputStream
  • Java ByteArrayInputStream
  • Java ByteArrayOutputStream
  • Java ObjectInputStream
  • Java ObjectOutputStream
  • Java BufferedInputStream
  • Java BufferedOutputStream
  • Java PrintStream

13、Java 字符流

  • Java Reader
  • Java Writer
  • Java InputStreamReader
  • Java OutputStreamWriter
  • Java FileReader
  • Java FileWriter
  • Java BufferedReader
  • Java BufferedWriter
  • Java StringWriter
  • Java PrintWriter

14、Java 并发编程

  • 进程与线
  • 多线程的入门类和接口
  • 线程组和线程优先级
  • 线程的状态及主要转化方法
  • 线程间的通信
  • 重排序和 happens-before
  • volatile
  • synchronized 与锁
  • CAS 与原子操作
  • AQS
  • 计划任务
  • Stream 并行计算原理
  • Frok/Join
  • 通信工具类
  • CopyOnWrite
  • 并发集合容器
  • 锁接口和类
  • 阻塞队列
  • 线程池原理

15、Java 虚拟机

  • Java 内存结构
  • 垃圾回收
  • JVM 内存区域
  • Java 虚拟机栈
  • class 文件
  • 字节码指令
  • JVM 参数调优
  • Java 对象模型
  • HotSpot
  • 类加载机制
  • 编译和反编译
  • 反编译工具(javap)
  • JIT
  • 虚拟机性能监控和故障处理工具(jps、jstack、jmap、jstat、jconsole、javap)

怎么系统化的学习呢?

推荐一套视频,动力节点老杜讲的Java零基础教程,在 B 站上看。

 https://www.bilibili.com/video/BV1Rx411876f

二、计算机基础

计算机基础都包括哪些呢?

计算机组成原理、操作系统、计算机网络、数据结构与算法。

计算机组成原理

先说计算机组成原理,这部分内容主要涉及

计算机系统概述

  • 数据与运算
  • CPU 概述
  • 存储子系统概述
  • 总线和 IO 概述

计算机基础知识的学习建议学习《计算机专业导论》

计算机专业导论可以帮助你对即将学习的学科有一个大致的了解,知识注重广度而非深度。

软件工程专业的同学也可以去看《软件工程导论》

三、工具的使用

如果你既想写出质量杠杠的 Java 代码,又想追求开发效率,用 Intellij IDEA 准没错!

可以去 B 站上看一下这个 Intellij IDEA 的教学视频。

www.bilibili.com/video/BV14t411z77T

大家都知道,版本控制系统非常重要!!!!!!

即便你只是一个人在编码,它也可以帮助你创建项目的快照、记录每个改动、创建不同的分支等等。

如果你参与的是多人协作,它更是一个无价之宝,你不仅可以看到别人对代码的修改,还可以同时解决由于并行开发带来的冲突。

版本控制系统有很多,其中最突出的代表就是 Git。

想要把 Git 学好的话,可以看看这套Git教学视频。

www.bilibili.com/video/BV1iv411p7ap

四、数据库

Java 实习工作,不外乎增删改查嘛,不要抱太多幻想,基本上任何一个人的实习经历,都是从 CRUD 开始的。 要学习MySQL 的话,推荐看下边这套

www.bilibili.com/video/BV1fx411X7BD

B站上很经典的视频教程,好评如潮,涵盖MySQL的全部知识点了

这一套组合拳打下来,找一份实习工作我认为是完全没问题了。

这也是一个 Java 后端程序员必须掌握的技能点,缺一不可!

五、web前端

虽然是作为Java后端开发Coder,但是面对一个完整的项目,与前端有着不可或缺的关系。

简单的前端知识我们还是需要了解的。

还有就是,也不是所有的公司都是区分前后端的,全栈工程师显然更厉害。

前端基础技术(HTML/CSS/JavaScript)

HTML:

www.bilibili.com/video/BV11t411K74Q

CSS:

www.bilibili.com/video/BV1tt411M7Vj

JavaScript:

www.bilibili.com/video/BV1Ft411N7R3

另外推荐一些你会遇到的知识学习教程

  • Linux基础知识(用于做web服务器)

www.bilibili.com/video/BV1Li4y1V7pG

  • Vue.js(最容易上手的前端框架)

www.bilibili.com/video/BV1q54y1v7T7

六、JavaWeb

Web阶段过后,就是JavaWeb了。

推荐这两套视频,不同版本的,直接跟着视频学

JavaWeb【IDEA版本】

www.bilibili.com/video/BV1Yz411B7Pk

JavaWeb【Eclipse经典版】

www.bilibili.com/video/BV18z411i7g

七、框架

要找到一份 Java 实习工作的话,Spring 的系列框架是要懂一些,不要求多熟练,如果可以掌握一个框架,尤其是 Spring Boot,那对你也有帮助。因为如果你不会这玩意的话,基本上是做不了项目的。

主要涉及的内容有:

  • Spring
  • Spring MVC
  • MyBatis
  • Spring Boot

关于 SSM(Spring+Spring MVC+MyBatis)的学习,可以看下面这个视频。

www.bilibili.com/video/BV1Ug4y1i7W7

关于 Spring Boot 的学习,可以看下边这个视频

www.bilibili.com/video/BV1pK411G7aw

学了 SSM + Spring Boot,就可以上手实战项目了,像 GitHub 上的 vhr 和 mall,都是不错的练手项目,强烈推荐。

八、互联网分布式技术

这时候你的水平还是仅仅存留在对框架的简单运用上,要想进一步学习,还要找一些框架的源码,进行深入了解。

除此之外还有这个时候的你应该对设计模式了如指掌,还需要看一些关于代码编写优化的书,提高自己的代码能力。

可以学习分布式架构、微服务等提升自己的技术。

随着我们的业务量越来越大和越重要,单体的架构模式已经无法对应大规模的应用场景,而且系统中决不能存在单点故障导致整体不可用,所以只有垂直或是水平拆分业务系统,使其形成一个分布式的架构,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。

同时分布式系统的模块重用度更高,速度更快,扩展性更高是大型的项目必不可少的环节。

而微服务架构引入策略 – 对传统企业而言,开始时可以考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。

既然已经踏入互联网圈子,成为程序员中的一员,就要秉持“一直学习”的观念,经常更新自己的技术库,对于专业的java程序员来说真的不夸张!

推荐视频:

Dubbo视频教程:https://www.bilibili.com/video/BV1Sk4y197eD

Redis视频教程:https://www.bilibili.com/video/BV14t411H76W

Maven多模块管理:https://www.bilibili.com/video/BV1kg4y187td

Linux视频教程:https://www.bilibili.com/video/BV1dt411W7N1

SpringCloud视频教程:https://www.bilibili.com/video/BV1ZV411y7ix

SpringCloud Alibaba视频教程:https://www.bilibili.com/video/BV1nK4y1j7gL

Nginx视频教程:https://www.bilibili.com/video/BV11V411C7r9

Spring Session视频教程:https://www.bilibili.com/video/BV1iK411p7dZ

FastDFS视频教程:https://www.bilibili.com/video/BV1ta4y1v7Kw

RabbitMQ视频教程:https://www.bilibili.com/video/BV1Ap4y1D7tU

MyCat视频教程:https://www.bilibili.com/video/BV1gK4y1b7iU

Docker视频教程:https://www.bilibili.com/video/BV1QA411L7B5

Kubernetes(k8s)视频教程:https://www.bilibili.com/video/BV1KU4y147g3

MySQL集群视频教程:https://www.bilibili.com/video/BV1Rg4y1i7VR

SVN视频教程:https://www.bilibili.com/video/BV1ux411j7H2

Apache Shiro视频教程:https://www.bilibili.com/video/BV14T4y1g75M

大型互联网电商项目:https://www.bilibili.com/video/BV1RQ4y1K7Pq

总之,先把主要知识点掌握彻底掌握,慢一点是正常的,求快得不偿失,等把底层基础知识打牢,在学东西的时候就会快很多,以后完全可以多找项目练手,学习效率嗖嗖的,有时候慢就是快。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java学习教程,Java从入门到精通,全套Java视频教程+笔记+配套工具 的相关文章

随机推荐

  • linux(centos) 保存退出vi编辑

    保存命令 按ESC键 跳到命令模式 然后 w 保存文件但不退出vi w file 将修改另外保存到file中 不退出vi w 强制保存 不推出vi wq 保存文件并退出vi wq 强制保存文件 并退出vi q 不保存文件 退出vi q 不保
  • Oracle存储过程获取入参出参(顺序,名字,类型,入参/出参)

    调用SQL语句 PROCEDURE NAME为过程名 自行替换要查询的过程名 POS为参数位置 NAME为参数名 TYPE为参数类型 IN OUT为入参 出参 SELECT A POSITION POS A ARGUMENT NAME NA
  • ABB 120 六轴机械手臂编程调试(三)

    下一步进行机械手臂的程序编写 程序只是进行简单的点位运动 实现抓取功能 程序控制的点位表 输入点位 点位描述 输出点位 点位描述 DI5 夹取完成 DO5 夹取物料 DI6 放料完成 DO6 放下物料 DI7 回原点 DO7 设备就绪 DI
  • Python练习——基础练习题2

    因为控制台会让不断输入 索性就把input放到注释里了 这一片主要练习if判断和while循环 初级 判断下列语句的打印结果 1 print True and True or True 2 print True and True or Fa
  • 因果图分析法例子

    某软件规格说明书包含这样的要求 第一列字符必须是A或B 第二列字符必须是一个数字 在此情况下进行文件的修改 但如果第一列字符不正确 则给出信息L 如果第二列字符不是数字 则给出信息M 解答 1 根据需求 分析出原因和结果如下 原因 1 第一
  • smbms(超市管理系统)源码 + 分析

    在项目开始之前 我们首先要对项目的整体架构分析一下 该项目一共分为四个模块 登录注销 用户管理 订单管理 供应商管理 其中用户管理 订单管理以及供应商管理都是需要对数据库进行crud的 项目的整体架构图如下 1 前期准备 1 项目架构 2
  • Android中Activity跳转到具体的Fragment的方法

    1 首先在需要跳转的Activity写此代码 Intent intent new Intent from MainActivity class intent addFlags Intent FLAG ACTIVITY SINGLE TOP
  • 理解Android上下文Context

    Context使用场景总的来说分为两大类 使用Context调用方法 比如启动Activity 访问资源 调用系统级服务等 调用方法时传入Context 比如弹出Toast 创建Dialog等 Activity Service和Applic
  • 安装snownlp报错 error: subprocess-exited-with-error

    安装snownlp报错error subprocess exited with error 解决方案重新安装importlib metadata pip uninstall importlib metadata pip install im
  • Zabbix监控平台部署实验——自定义zabbix监控项目

    Zabbix系列文章目录 第一章 Zabbix5 0版本的安装教程 第二章 Zabbix监控平台部署实验 自定义zabbix监控项目 目录 Zabbix系列文章目录 前言 二 操作步骤 1 安装配置环境 2 授权zabbix server可
  • STM32HAL库的基本使用(1)- GPIO引脚配置

    前言 作者使用的是STM32L431RCT的开发板 Cortex M4的内核 是大学老师教学用的 原理图如下 原理图下载链接 https pan baidu com s 1c8WFBO9bPxarzaOKqDrl0Q pwd 6666 提取
  • Android中Recycler网格布局管理器GridLayoutManager用法

    使用RecyclerView可以制作出类似GridView的样式 但比GridView更加强大 这里我们就介绍一下RecyclerView和GridLayoutManager结和的用法 1 GridLayoutManager常用方法 构造函
  • ROS:开机自启动

    Ubuntu14 04 网上很多资料说在 etc rc local中添加脚本 实验之后完全没用 可能是系统版本不对 解决 Ubuntu14 04 开机项命令 gnome session properties 点击 add name 名字 c
  • mysql count(*)、count(1) 、count(列名)、count(distinct expr)

    文章目录 概述 优化 MyISAM InnoDB 参考文档 https dev mysql com doc refman 8 0 en group by functions html function count 概述 count 为 SQ
  • 蓝桥杯每日一题2023.9.8

    蓝桥杯2023年第十四届省赛真题 飞机降落 C语言网 dotcpp com 题目描述 N 架飞机准备降落到某个只有一条跑道的机场 其中第 i 架飞机在 Ti 时刻到达机场上空 到达时它的剩余油料还可以继续盘旋 Di 个单位时间 即它最早 可
  • Learning Video Object Segmentation from Static Images

    Abstract 论文灵感来源于 实例分割和目标跟踪 特点 1 我们的模型在每帧的基础上进行 并由前一帧的输出导向下一帧中的关注对象 2 一个高度准确的视频目标分割可以用一个卷积神经网络并用静态的图片来训练 3 使用在线和离线的策略 前者产
  • 为什么那么多的人选择到Java培训机构学习

    目前IT行业Java编程是最炙手可热的技术 Java应用范围广泛 企业在大量招收Java人才 薪水也随之上涨 发展前景越来越好 因此现在有越来越多的人发现了这片美丽的新大陆 都正在拼命往里的挤 一些觉得Java培训机构费用贵的同学会选择自学
  • public Map kaoYanAllStation() { Map map = new HashMap<>(); ...

    首先 根据代码中的注释可以看出 该方法主要是获取各种气象数据 对其进行计算和比较 然后将结果存储在一个 Map 对象中返回 为了优化这段代码 可以考虑以下几个方面 减少重复代码 在代码中可以看到 获取历年同期降水和温度数据的代码几乎一模一样
  • LVS常用模式(DR、NAT、TUN)以及ldirector和keepalived

    1 LVS简单介绍 1 lvs定义LVS是Linux Virtual Server的简写 意即Linux虚拟服务器 是一个虚拟的服务器集群系统 LVS集群采用IP负载均衡技术和基于内容请求分发技术 调度器具有很好的吞吐率 将请求均衡地转移到
  • Java学习教程,Java从入门到精通,全套Java视频教程+笔记+配套工具

    目录 一 大纲 一 Java基础 二 计算机基础 三 工具的使用 四 数据库 五 web前端 六 JavaWeb 七 框架 八 互联网分布式技术 发现身边很多自学java却放弃的 真的挺可惜的 白白浪费了几个月宝贵的时间 且放弃一次 就会有