本套视频适合绝对Java零基础的小白学习,课程内容详细程度前无古人,每个知识点以“掰开了揉碎了”的方式讲解,本视频基于JDK最新版本15进行讲解,主要包括Java核心语法、Java程序运行内存分析、Java面向对象等内容,虽然本视频是专门为小白量身打造,但是课程在每一个知识点上进行了很大的延伸,深度完全完胜三年工作经验的程序员,为您以后的发展奠定坚实的基础。
1-1 我们要学什么目标是啥
1-2 什么是计算机
1-3 计算机的组成
1-4 什么是计算机编程语言
1-5 计算机语言发展史之机器语言
1-6 计算机语言发展史之低级语言
1-7 计算机语言发展史之高级语言
1-8 Java可以开发什么类型的软件
1-9 Java语言发展史之名字来历
1-10 Java语言发展史之详细时间轴
1-11 Java语言特性之简单性
1-12 Java语言特性之健壮性
1-13 Java语言特性之多线程
1-14 Java语言特性之安全性
1-15 Java语言特性之可移植性
1-16 Java的加载与执行
1-17 jdk16的下载
1-18 jdk16的安装
1-19 path环境变量的配置
1-20 编写第一个java程序
1-21 编译第一个java程序
1-22 运行第一个java程序
1-23 classpath环境变量
1-24 java中的注释
1-25 public class和class的区别
2-1 什么是标识符
2 2-标识符可以标识什么
2-3 标识符命名规则
2 4-判断哪些标识符是合法的
2 5-标识符的命名规范
2 6-阿里巴巴Java开发规约泰山版
2-7 Java中的关键字
2-8 Java中的字面值
2-9 Java中的字面值
2-10 什么是二进制
2-11 二进制转换成十进制
2-12 计算机底层是采用二进制的方式存储
2-13 十进制转换成二进制
2-14 使用计算器也可以进行进制转换
2-15 什么是字符集
2-16 什么是编码和解码
2-17 字符集都有哪些
2-18 乱码是如何产生的
2-19 什么是变量
2-20 变量的声明
2-21 变量的赋值
2-22 变量的重新赋值
2-23 变量声明的同时赋值
2-24 变量名不能重名
2-25 方法体中代码执行顺序
2-26 一行上声明多个变量
2-27 变量的作用域
2-28 变量的分类
2-29 数据类型概述
2-30 Java中数据类型包括哪些
2-31 每个数据类型怎么称呼
2-32 字节及容量换算单位
2-33 关于二进制的符号位
2-34 八种基本数据类型取值范围
2-35 八种基本数据类型默认值
2-36 整数类型之自动类型转换
2-37 经典面试题
2-38 整数型字面量的几种表示形式
2-39 强制类型转换
2-40 强制类型转换有时会损失精度
2-41 基本数据类型转换规则1
2-42 基本数据类型转换规则2
2-43 基本数据类型转换规则3
2-44 二进制的原码反码补码
2-45 推导精度损失之后的数据是多少
2-46 浮点型概述
2-47 浮点型字面量默认被当做double
2-48 经典面试题
2-49 浮点型数据在内存中怎么存的
2-50 IEEE754标准
2-51 经典面试题解读
2-52 不建议使用双等号判断两个浮点型是否相等
2-53 多种数据类型混合运算规则
2-54 布尔类型值只有true和false
2-55 布尔类型用在哪里
2-56 char可以存储一个汉字
2-57 使用char的注意事项
2-58 关于char的面试题
2-59 转义字符制表符
2-60 其他转义字符
2-61 怎么输出1个和2个普通反斜杠
2-62 字符的unicode编码
2-63 什么是运算符
2-64 运算符的分类
2-65 各种运算符介绍
2-66 接收用户键盘输入
2-67 接收键盘输入浮点型数据
2-68 接收键盘输入字符串
2-69 算术运算符
2-70 接收键盘输入和算术运算符综合应用
2-71 算术运算符之++
2-72 ++运算符的扩展
2-73 诡异的面试题
2-74 如何查看类的字节码
2-75 栈数据结构详解
2-76 局部变量在内存中具体如何存储
2-77 从字节码角度分析诡异的面试题
2-78 关系运算符
2-79 逻辑运算符特点
2-80 逻辑与运算符
2-81 逻辑或运算符
2-82 逻辑非运算符
2-83 逻辑异或运算符
2-84 短路与和短路或
2-85 基本的赋值运算符
2-86 扩展的赋值运算符
2-87 扩展的赋值运算符2
2-88 条件运算符基本应用
2-89 不是java语句
2-90 条件运算符嵌套
2-91 字符串连接运算的基本使用
2-92 练习字符串连接运算
2-93 字符串连接技巧
2-94 按位与运算
2-95 按位或运算
2-96 按位异或运算
2-97 按位取反运算
2-98 左移运算符
2-99 负数的左移运算
2-100 左移的时候符号位怎么处理
2-101 正数的右移运算
2-102 负数的右移运算
2-103 无符号右移运算符
2-104 复合赋值位移运算
2-105 什么是控制语句
2-106 控制语句的分类
2-107 条件控制语句if的第一种写法
2-108 条件控制语句if的第二种写法
2-109 分支的大括号什么时候可以省略
2-110 if语句嵌套if语句
2-111 条件控制语句if的第三种写法
2-112 条件控制语句if的第四种写法
2-113 if语句的经典案例
2-114 switch语句的基本语法
2-115 switch可以探测什么数据类型
2-116 一个完整的switch语句
2-117 case穿透现象
2-118 default语句位置及穿透
2-119 case合并
2-120 switch后面可以是char值吗
2-121 switch语句可以探测字符串
2-122 switch语句经典案例
2-123 对循环的理解
2-124 for循环的基础语法
2-125 for循环执行原理
2-126 最常见的for循环
2-127 关于for循环中变量的作用域
2-128 for循环的各种写法
2-129 解决输出多行HelloWorld的问题
2-130 找出1到100所有的偶数
2-131 Java中如何累加求和
2-132 1到100所有奇数求和
2-133 500到600所有4的倍数的数字求和
2-134 for循环嵌套的执行原理
2-135 判断某个数字是否为素数
2-136 判断100到200之间每个数字是否为素数
2-137 打印九九乘法表
2-138 while循环原理
2-139 while死循环
2-140 while循环和for循环的对比
2-141 while循环计算1到100的奇数和
2-142 do while循环的语法和原理
2-143 do while循环的程序演练
2-144 break语句存在的意义
2-145 break的具体应用
2-146 break语句终止指定循环
2-147 continue的执行原理
2-148 深入理解continue语句
2-149 不使用方法代码存在的缺陷
2-150 方法带来了代码复用
2-151 方法的本质是什么
2-152 方法定义之后必须调用才能执行
2-153 方法在一个类体中定义是没有顺序要求的
2-154 方法的修饰符列表
2-155 方法的方法名
2-156 理解方法的返回值
2-157 在代码级别如何完成值的返回
2-158 返回值类型有什么作用
2-159 方法的返回值可以接收也可以不接收
2-160 方法的返回值类型可以是哪些类型
2-161 方法的返回值类型是void和不是void
2-162 void的方法中使用return
2-163 关于return语句的经典面试题
2-164 return语句后面不要写代码
2-165 关于方法的参数列表
2-166 关于方法的调用
2-167 关于方法中代码的执行顺序
2-168 关于VM Stack
2-169 方法执行时的内存变化
2-170 引出方法重载机制
2-171 什么是方法重载机制
2-172 什么时候使用方法重载
2-173 方法重载的条件
2-174 方法重载的具体应用
2-175 方法递归的原理
2-176 1到5的求和递归怎么做
2-177 递归计算1到n的和
2-178 递归计算n的阶乘
3-1 面向对象和面向过程的初步理解
3-2 类和对象是什么以及它们的区别
3-3 对实例变量的理解
3-4 类的定义
3-5 对象的创建
3-6 Java8的JVM内存结构介绍
3-7 回顾面向对象并加深JVM内存结构的理解
3-8 创建对象时JVM内存结构是怎样的
3-9 如何访问Java对象的属性
3-10 面向对象小作业-定义类创建对象访问属性
3-11 面向对象小作业-定义类创建对象访问属性
3-12 初步认识空指针异常
3-13 作业题Employee类的定义对象创建和使用
3-14 实例方法概念的引入以及实例方法的调用
3-15 锻炼方法的调用
3-16 作业题计算圆的面积
3-17 面向对象的封装性的实现
3-18 IDEA快速生成setter和getter方法
3-19 this关键字的理解和使用
3-20 this关键字什么时候不能省略
3-21 构造方法的定义和使用
3-22 小作业定义订单类以及类的封装
3-23 订单类作业的讲解与实现
3-24 构造方法中使用this来调用其他构造方法
3-25 静态变量的内存分析
3-26 作业题以及空引用访问静态的不会出现空指针
3-27 日期作业题的分析和实现
3-28 作业题奥特曼大战哥斯拉作业实现
3-29 当方法的参数类型是一种引用类型
3-30 方法调用时参数传递的问题-基本数据类型
3-31 方法调用时参数传递的问题-引用数据类型
3-32 对方法调用的总结
3-33 静态代码块的使用
3-34 语句块的使用
3-35 关于代码执行顺序的作业题
3-36 代码执行顺序作业题的分析与讲解
3-37 Java中的继承语法机制
3-38 什么可以继承什么不能继承
3-39 package和import的使用
3-40 对象中的属性是另一个对象(作业题布置)
3-41 当对象的属性是一个对象时内存图是怎样的
3-42 方法覆盖方法重写override
3-43 深入理解方法的覆盖机制
3-44 关于Java语言中的访问控制权限
3-45 关于Java语言中的final关键字
3-46 Java多态之向上和向下转型
3-47 多态的向上和向下转型的使用
3-48 instanceof运算符防止类型转换异常的发生
3-49 多态在实际开发中的应用及作用
4-1 什么是异常
4-2 异常的作用
4-3 java中异常以类和对象形式存在
4-4 异常是怎么发生的
4-5 异常发生后如果没有捕捉处理当前方法会终止
4-6 异常的继承结构
4-7 再次加深异常继承结构
4-8 编译时异常的其它称谓
4-9 异常为什么要这么分类
4-10 异常发生的时候实际上有一行隐含的代码
4-11 举例说明编译时异常需要预处理
4-12 理论上讲解异常的处理方式
4-13 理论上讲解异常的处理方式
4-14 throws方式处理异常
4-15 throws关键字后面可以跟多个异常类型
4-16 throws的宽泛处理方式
4-17 什么时候我们一定会用throws方式处理
4-18 在同一个域中throw语句下面不能写其他代码
4-19 throws方式原理解析
4-20 如何跟踪查看异常信息
4-21 异常的另一个作用
5-1 对数组的初步印象
5-2 对数组这种类型的深入理解
5-3 数组在内存当中是如何存储的
5-4 访问数组当中的元素
5-5 遍历数组中的每个元素
5-6 数组下标越界异常
5-7 遍历数组修改格子
5-8 数组的中括号写的位置
5-9 数组的动态初始化
5-10 多看几种类型的数组
5-11 动态初始化Student类型数组
5-12 数组的优点
5-13 数组的缺点
5-14 Object数组的内存图
5-15 Object数组中元素类型不同该怎么调用方法
5-16 增强for循环
5-17 调用方式时如何直接传一个数组
5-18 main方法String数组
5-19 main方法的String数组案例
5-20 关于数组的扩容
5-21 数组的拷贝
5-22 数组的分类
5-23 二维数组的初始化方式
5-24 二维数组中元素的访问
5-25 遍历二维数组
5-26 二维数组的遍历
5-27 当一个方法的参数是二维数组
5-28 冒泡排序的实现原理
5-29 数组中两个元素位置互换
5-30 冒泡排序的具体比较过程分析
5-31 冒泡排序的代码实现
5-32 选择排序的核心原理
5-33 选择排序的代码实现
5-34 使用数组工具类Arrays进行排序
5-35 使用数组工具类Arrays进行数组拷贝
5-36 使用数组工具类Arrays拷贝某区间数据
5-37 将一组数据转换成List集合
5-38 deepEquals和deepToString
5-39 比较两个int类型数组中元素是否相等
5-40 向数组中填充元素
5-41 对数组排序时启动多核CPU方式
5-42 数组中元素查找的问题
5-43 二分法查找的实现原理
5-44 二分法查找的代码实现
5-45 通过工具类Arrays进行二分法查找
6-1 常用类概述
6-2 字符串常量池
6-3 字符串常量池的内存结构
6-4 String内存结构深度剖析
6-5 String面试题
6-6 字符串的比较应该使用equals方法
6-7 String的一点开发小技巧
6-8 String类已经重写toString方法
6-9 通过debug模式查看String的内存
6-10 字符串的编译阶段拼接
6-11 字符串的运行阶段动态拼接
6-12 字符串的编译阶段拼接
6-13 构建String对象的第一种方式
6-14 String的无参数构造方法
6-15 将byte数组转换成字符串对象
6-16 将byte数组的一部分转换成字符串对象
6-17 将char数组转换成字符串对象
6-18 将char数组的一部分转换成字符串对象
6-19 将字符串直接传给String的构造方法
6-20 总结字符串的创建
6-21 将字符串转换成byte数组和char数组
6-22 字符编码方式回顾
6-23 通过字符集byte数组和String互相转换
6-24 JVM默认采用的字符集是UTF8
6-25 Java7之后提供了StandardCharsets类
6-26 String常用方法之charAt
6-27 比较字符串的大小
6-28 忽略大小写的字符串比较
6-29 判断字符串中是否包含某个子字符串
6-30 判断字符串是否以某个子字符串开始或结尾
6-31 比较两个字符串是否相等忽略大小写
6-32 获取某个字符串在当前字符串中第一次出现处的下标
6-33 contains方法源代码解读
6-34 从字符串常量池中获取字符串
6-35 获取字符串的长度
6-36 子字符串在当前字符串中最后一次出现处的索引
6-37 将字符串中的某个子字符串替换
6-38 将字符串中某个子字符串替换(只替换第一个)
6-39 replace和replaceAll的区别
6-40 拆分字符串
6-41 截取子字符串
6-42 重载的substring方法
6-43 字符串的大小写转换
6-44 去除字符串前后空白
6-45 重载的valueOf方法
6-46 StringBuffer和StringBuilder初步
6-47 append方法详解及优化
6-48 StringBuilder的优化程序
6-49 八种包装类介绍
6-50 关于包装类的继承关系
6-51 关于装箱和拆箱
6-52 NumberFormatException异常的发生
6-53 关于最大值和最小值常量
6-54 自动装箱和自动拆箱机制
6-55 什么时候拆什么时候不会拆
6-56 整数型常量池
6-57 为什么Integer的构造方法已过时
6-58 Integer的equals和toString
6-59 Integer的常用方法
6-60 十进制转八进制二进制十六进制
6-61 int Integer String三种类型互相转换
6-62 获取系统时间的总毫秒数
6-63 日期格式化
6-64 字符串日期转换成Date
6-65 带有long参数的Date构造方法
6-66 数字格式化初步
6-67 数字格式化保留小数不够补0
6-68 财务软件使用的BigDecimal
6-69 工具类的构造方法要私有化
6-70 Math类的常用方法
6-71 Math类的常用方法2
6-72 使用Math类获取随机数
6-73 使用Random生成随机数
6-74 思考怎么生成5个不重复的随机数
6-75 生成5个不重复的随机数
6-76 分析程序的设计缺陷
6-77 什么时候要用枚举类型
6-78 枚举类型如何定义以及使用
6-79 枚举类型的values方法返回所有枚举值
6-80 将字符串转换成枚举值
6-81 两个枚举值比较大小
6-82 获取枚举值在枚举值列表当中出现的位置
6-83 关于枚举类型的构造方法
6-84 枚举类型的有参数构造方法
6-85 枚举类型可以使用到switch中
8-1 什么是IO流
8-2 输入和输出以及读和写
8-3 文件复制的原理
8-4 IO流的分类
8-5 JDK中流的区分
8-6 IO流的四大家族
8-7 需要掌握哪些流
8-8 FileInputStream初步
8-9 使用while循环改造第一个程序
8-10 对while循环再次改造
8-11 关闭流
8-12 java7新特性之资源自动释放
8-13 关于流的close和flush方法
8-14 read(byte数组)方法的实现原理
8-15 一次读取多个字节(上)
8-16 一次读取多个字节(下)
8-17 使用while循环进行改造
8-18 对while循环进行改造
8-19 skip方法让我们跳过多个字节不用读
8-20 available方法协助创建byte数组
8-21 FileOutputStream初步
8-22 其他的write方法
8-23 文件的拷贝
8-24 IDEA中的当前路径
8-25 FileReader的使用
8-26 FileWriter的使用
8-27 使用字符流完成文件的拷贝
8-28 节点流和处理流
8-29 只需要关闭包装流
8-30 读取一个文本行
8-31 使用while循环读
8-32 InputStreamReader转换流
8-33 BufferedWriter的使用
8-34 OutputStreamWriter转换流
8-35 DataOutputStream数据字节输出流
8-36 DataInputStream数据字节输入流
8-37 PrintStream标准的字节输出流
8-38 改变标准输出流的输出方向
8-39 对象的序列化和反序列化
8-40 对象的序列化操作
8-41 对象的反序列化操作
8-42 序列化版本号
8-43 File类概述
8-44 构造一个File以及判断File是否存在
8-45 以文件或目录的形式新建
8-46 删除文件以及获取文件的绝对路径
8-47 获取文件名以及父目录
8-48 判断是文件还是目录
8-49 获取文件最后修改时间
8-50 获取文件大小以及重命名
8-51 获取当前目录下所有的子目录或子文件
8-52 目录拷贝1
8-53 获取目录下所有的子节点
8-54 编写拷贝的文件的核心程序
8-55 动态的文件路径
8-56 完成文件拷贝
8-57 回顾Properties的用法
8-58 使用输入流向属性类对象中加载资源
8-59 使用字符流也是可以的
8-60 属性资源文件的概念
8-61 使用资源绑定器读取属性资源文件
10-1 什么是反射机制
10-2 反射机制的作用
10-3 反射机制常用的API
10-4 获取Class的第一种方式
10-5 获取Class的第二种方式
10-6 获取Class的第三种方式
10-7 获取全限定类名以及简单类名
10-8 获取一个类的父类
10-9 获取一个类实现了哪些接口
10-10 通过Class实例化对象
10-11 反射机制的一个具体应用
10-12 执行静态代码块
10-13 反射一个类的Field
10-14 反射Field使用StringBuilder进行字符串拼接
10-15 获取某个指定的Field
10-16 不使用反射机制怎么访问Field
10-17 通过反射机制访问Field
10-18 反射机制打破封装
10-19 可变长参数
10-20 反射一个类的Method
10-21 反射Method使用StringBuilder进行字符串拼接
10-22 获取指定的Method
10-23 通过反射机制调用特定的Method
10-24 获取一个类中所有的构造方法
10-25 获取指定的构造方法
10-26 通过调用构造方法来实例化对象
10-27 反射机制的总结
11-1 什么是注解
11-2 注解怎么定义
11-3 注解怎么用
11-4 JDK内置的注解
11-5 Override注解
11-6 Deprecated注解
11-7 SuppressWarnings注解
11-8 FunctionalInterface注解
11-9 给注解定义属性并使用属性
11-10 注解属性数据类型都可以是哪些
11-11 当注解的属性名是value的时候
11-12 当属性值是数组并且只有一个值的时候
11-13 JDK中元注解都有哪些
11-14 关于元注解Target
11-15 关注元注解Retention
11-16 关于元注解Inherited
11-17 关于元注解Documented
11-18 关于元注解Repeatable
11-19 总结Repeatable元注解
11-20 通过反射机制读取注解
11-21 使用注解的实际案例
获取步骤