java全套学习课程

2022-09-24 11:58:51

Java学习

以下教程按照学习路线图排列

Java青铜篇-Java核心技术

Java零基础:Java零基础教程视频(适合Java 0基础,Java初学入门)

JavaSE项目:图书管理系统JavaSE项目实战训练-适合学完Java零基础同学巩固

老杜MySQL:MySQL基础入门-mysql教程-数据库实战(MySQL基础+MySQL高级+MySQL优化+MySQL34道作业题)
老杜JDBC:JDBC从入门到精通视频教程-JDBC实战精讲
JavaWeb【内含MySQL+JDBC】:2020最新Javaweb视频教程-Javaweb从入门到精通(网络通信/HTML/CSS/JavaScript/MySQL/JDBC/JSP/Servlet)


Java白银篇-Web进阶

Ajax:Ajax入门到精通全套完整版(ajax2020最新版本)Web前端Ajax初学者零基础学习必备
jQuery:jQuery入门到精通全套完整版(jQuery2020最新版本)Web前端jQuery初学者零基础学习必备


Java黄金篇-JavaWeb项目实战

EGOV项目Java大型项目视频教程-EGOV项目
JDK动态代理:Java-JDK动态代理(AOP)使用及实现原理分析
Maven:2020最新Maven教程-Maven基础篇之Maven实战入门
CRM项目JavaWeb项目实战-企业级CRM项目-CRM客户管理系统
Linux:Linux从入门到精通全套完整版(适合Linux入门、初学Linux小白)


Java铂金篇-SSM三大框架

Mybatis:2020最新MyBatis教程【IDEA版】-MyBatis从入门到精通
Spring:2020最新Spring框架教程【IDEA版】-Spring框架从入门到精通
SpringMVC:2020最新SpringMVC教程【IDEA版】-springmvc从入门到精通


Java钻石篇-互联网分布式

Dubbo:动力节点Dubbo教程(2020最新版)Dubbo项目实战
Redis:Redis实战精讲-13小时彻底搞定Redis
Maven进阶:2020最新Maven教程-Maven进阶篇之Maven多模块管理
SpringBoot:最新SpringBoot2教程-从零深入SpringBoot【实战解读SpringBoot】
SpringBoot进阶:急速开发框架SpringBoot 2.X版-springboot核心思想-springboot源码分析–springboot深入浅出
Nginx:2020最新Nginx教程-Nginx应用实战
SpringSession:SpringSession-全网最细的SpringSession教程-springsession实战
FastDFS:2020最新FastDFS教程-分布式文件系统FastDFS详解-FastDFS从基础到集群实践
RabbitMQ:RabbitMQ实战教程-极速掌握消息中间件RabbitMQ
SpringCloud:最新Springcloud教程-从零深入Springcloud【实战解读Springcloud】
SpringCloudAlibaba:SpringCloud Alibaba从入门到精通教程/SpringCloud从入门到精通教程/一站式微服务解决方案SpringCloud Alibaba
Docker:Docker实战精讲-docker使用快速入门教程【完整版】
Kubernetes/K8S:零开始部署k8s集群教程Kubernetes实战精讲
MySQL集群:MySQL数据库企业级集群项目实战-MySQL集群实战精讲
MyCat:Mycat之读写分离与分库分表
Shiro:Shiro教程-Apache Shiro安全框架实战


Java超凡大师篇-互联网分布式实战

动力商城项目:Shiro教程-Apache Shiro安全框架实战

Java入门神器【看完就懂】【尚硅谷】Java基础全套教程,JAVA零基础入门必备,适合初学者的完整视频 (宋红康主讲)

Java学习路线图【2021版】2021年度全网最全Java学习路线


Java核心–夯实根基——》》

Java基础:【尚硅谷】Java基础全套教程,JAVA零基础入门必备,适合初学者的完整视频 (宋红康主讲)
IDEA:尚硅谷IDEA教程(idea经典之作)
MySQL:尚硅谷MySQL数据库全套完整版(sql数据库优化)
JDBC:尚硅谷JDBC核心技术(新版jdbc)
Javaweb:尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版
JVM:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机)


前沿框架–掌控趋势——》》
Spring5:尚硅谷-Spring5框架最新版教程(idea版)
Spring Boot2:雷丰阳2021版SpringBoot2零基础入门springboot全套完整版(spring boot2)
SpringCloud:尚硅谷SpringCloud(H版&alibaba)框架开发教程(大牛讲授spring cloud)
K8S:k8s教程由浅入深-尚硅谷
Redis:【尚硅谷】2021 最新 Redis 6 入门到精通 超详细 教程
Docker:尚硅谷Docker快速入门基础篇-周阳主讲
Nginx:尚硅谷Nginx教程由浅入深(一套打通丨初学者也可掌握)
MySQL优化:尚硅谷MySQL数据库高级,mysql优化,数据库优化
MyBatis:尚硅谷MyBatis实战教程全套完整版(初学者零基础从入门到精通,好评如潮,资料齐全)
Elasticsearch:【尚硅谷】ElasticSearch入门到精通2021最新教程(基于ELK技术栈elasticsearch 7.8.x版本)
ActiveMQ:尚硅谷ActiveMQ教程(MQ消息中间件快速入门)
Mycat:尚硅谷Mycat核心教程(mycat实战应用)
Maven:尚硅谷Maven视频(maven零基础入门)
Git:【尚硅谷】5h打通Git全套教程丨2021最新IDEA版(涵盖GitHub\Gitee码云\GitLab)

面试&项目–冲击40w年薪——》》
经典面试题:尚硅谷经典Java面试题第一季(java面试精讲)
大厂面试题第2季:尚硅谷Java大厂面试题第二季(java面试必学,周阳主讲)
大厂面试题第3季:尚硅谷2021逆袭版Java面试题第三季(java大厂面试题,周阳主讲)
尚医通项目:尚硅谷Java微服务+分布式+全栈项目【尚医通】
尚融宝项目:尚硅谷《尚融宝》Java微服务分布式金融项目
尚筹网项目:尚硅谷尚筹网Java项目实战开发教程(含SSM框架,微服务架构,封捷主讲)
谷粒学院项目:尚硅谷_谷粒学院-微服务+全栈在线教育实战项目
谷粒商城项目:全网最强电商教程《谷粒商城》对标阿里P6/P7,40-60万年薪
(对标阿里P6/P7)

教程学习中可能遇到的非技术问题(只有声音、pdf无法复制、提取码错误等)→学习尚硅谷教程遇到的各种常识性问题




cd命令

  1. cd命令 change directory 改变目录
  2. cd命令的用法:cd 目录的路径
  3. 目录的路径一般包括两种,一种是绝对路径,另外一种是相对路径,绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径(告诉你去某某某个地方,比如我们现在去湖南省长沙市岳麓区学士路湖南中医药大学),相对路径:表示该路径从当前所在的路径下作为出发点的路径(我们现在去隔壁教室,也就是站在当前想问题)
  4. cd …回到上一级目录
  5. Cd \直接回到跟目录
  6. 切换盘符 盘符名称+回车

Java语言特性【开源,免费,纯面向对象,跨平台】

JVM (Java虚拟机)

JDK(Java开发工具包)

JRE (Java运行时环境)

  • 简单性:相对而言,例如java中不再支持多继承,c++是支持多继承的,多继承比较复杂,c++中有指针,java中屏蔽了指针的概念。所以系那个对来说java是简单的,java语言底层是c++实现的,不是C语言。

  • 面向对象:Java是纯面向对象的,更符合人的思维模式,更容易理解

  • 可移植性:一次编译,到处运行(跨平台)

  • 多线程

  • 健壮性:和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制,java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心

public class和class的区别

  • 一个java源文件当中可以定义多个class
  • 一个java源文件当中public的class不是必须的
  • 一个class会定义生成一个xxx.class字节码文件
  • 一个java源文件当中定义公开的类的话,public的class只能有一个,并且该类名称必须和java源文件名称一致
  • 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B
  • 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法,没有主方法会出现运行阶段的错误

java语言当中的标识符

  1. 什么是标识符
    • 在java源文件当中,凡是程序员有权利自己命名的单词都是标识符
    • 标识符在大部分编译器当中以黑色字体高亮显示
    • 标识符可以标识类名,方法名,变量名,接口名,常量名
  2. 标识符的命名规则
    • 不能数字开头
    • 严格区分大小写
    • 关键字不能做标识符
    • 理论上无长度限制,但是最好不要太长
  3. 标识符命名规范
    • 最好见名知意
    • 遵守驼峰命名方式
    • 类名,接口名:首字母大写,后面每个单词首字母大写
    • 变量名,方法名,首字母小写,后面每个单词首字母大写
    • 常量名:全部大写

方法

  1. 方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复使用其实也就是C语言中的函数
  2. 方法定义在类体当中,在一个类当中可以定义多个方法,方法的编写位置没有先后顺序,可以随意。但是方法体重不能在定义方法

方法重载

  1. 方法重载又被称为:overload

  2. 什么时候考虑方法重载——功能相似的时候,尽可能让方法名相同,但是功能不通过,不相似的时候,尽可能让方法名不同

  3. 什么条件满足之后构成了方法重载——在同一个类当中,方法名相同,参数列表不同,数量不同

  4. 方法重载和什么有关系,和什么没有关系——方法重载和方法名+参数列表有关系,方法重载和返回值类型无关,方法重载和修饰符列表无关

第三章:面向对象(Java语言的核心机制)

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

  1. 面向过程主要关注的是实现具体过程,因果关系

    • 优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低
    • 缺点:采用面向过程的开发方式很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的“耦合度”非常高,只要其中一环出现问题,整个系统受到影响,导致最终的软件“扩展力”差,另外,由于没有独立体的概念,所以无法达到组件复用
  2. 面向对象,类和对象的概念

    • 什么是类:类在现实世界当中是不存在的,是一个模板,是一个概念,是人类大脑思考抽象的结果,类代表了一类事物,在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板称为类
    • 什么是对象:对象是实际存在的个体,现实世界当中实际存在

    面向对象的三大特征:封装,继承,多态

    封装

    1. 封装之后,对于那个事物来说,看不到这个事物比较复杂的那一面,只能看到简单的那一面,复杂性封装,对外提供简单的操作入口。照相机和电视机就是典型的封装例子,使用者不用关心他内部是怎么操作的,只需要会用就行

    2. 封装之后才会形成真正的对象,真正的独立体

    3. 封装意味着以后的程序可以重复使用,并且这个事物适应性比较强,在任何场合都可以使用

    4. 封装之后,对于事物本身,提高了安全性,他的安全级别很高

    5. 封装的步骤

      • 所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中访问
      • 对外提供简单的操作入口,也就是说以后外部程序想要访问age属性,必须通过这些简单的入口进行访问,对外提供两个公开的方法,分别是set方法(修改age属性)和get方法(读取age属性)
    6. set方法的命名规范

      publicvoidsetAge(int a){
           age=a;}
    7. get方法的命名规范是:

      publicvoidgetAge(int a){return age;}
    8. setter and getter方法没有static关键字,有static关键字修饰的方法调用情况:类名,方法名(实参),没有static关键字的方法调用情况:引用+方法名(实参)

    关于java类中的构造方法

    1. 构造方法又被称为构造函数,构造器

    2. 构造方法语法结构,[修饰符列表]构造方法名(形式参数列表){

      构造方法体;

      }

    3. 回顾普通方法语法结构[修饰符列表]返回值类型 方法名(形式参数列表){

      方法体;

      }

    4. 对于构造方法来说,返回值类型不需要指定,并且也不能写void,如果写上void,那么这个方法就成为普通方法了

    5. 对于构造方法来说,构造方法的方法名必须和类名保持一致

    6. 构造方法的作用:构造方法存在的意义是。通过构造方法的调用,可以创建对象

    7. 构造方法应该怎么调用:

      • 普通方法调用:方法修饰符中有static的时候,类名.方法名(实参列表),方法修饰符列表中没有static的时候,引用.方法名(实参列表)
      • new 构造方法名(实参列表)
    8. 实际上每一个构造方法实际上执行结束之后都有返回值,但是不用写return,构造方法结束时返回值类型是构造方法所在累的类型

    9. 当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器

    10. 当一个类显示的构造方法定义出来了,那么系统不再默认认为这个类型提供缺省构造方法,建议开发中手动的为当前提供五参数构造方法,因为五参数构造方法太常用了

    11. 构造方法支持重载机制,在一个类中编写多个构造方法,这多个构造方法已经构成方法重载机制

    对象和引用

    • 对象:目前在使用new运算符在堆内存中开辟的内存空间称为对象
    • 引用:是一个变量,可能是局部变量或者成员变量,引用保存了内存地址,指向了堆内存当中的对象
    • 所有访问实例相关的数据,都要通过引用的方式访问,因为只有通过引用才能找到对象
    • 只有一个空的引用,访问对象实例相关的数据会出现空指针异常

this关键字

不带有static关键字的一个方法,例如:客户购物行为,每一个顾客购物最终结果是不一样的,所以购物这个行为是属于对象级别的行为,每一个对象在执行购物这个动作的时候最终结果不同,所以购物这个动作必须有对象的参与。(没有static的关键字被称为实例方法,访问:引用+.,同时没有static关键字的遍历被称为实例变量)

如果一个行为或者动作执行过程当中是需要对象参与的,那么这个方法一定要定义为实例方法,不需要带static关键字

世界不会总是那么喧闹,总会有高潮有平静,自己选择一条自己喜欢并相信的路,怀揣希望但不苛求结局的走好它,也许永远是最对的道理,即所谓“尽人事,听天命 ”。人生满是苦痛,但你是要坚定信念并且持续去做,它总是不经意间送给你很多美好,加油!
  • 作者:少年白马
  • 原文链接:https://blog.csdn.net/qq_44833724/article/details/118347089
    更新时间:2022-09-24 11:58:51