课程试听
第一章 就业课(2.0)-面向对象和封装
1-1 描述类介绍与使用
- day06_01_面向对象思想的概述
- day06_02_面向对象思想的举例
- day06_03_类和对象的关系
- day06_04_类的定义
- day06_05_对象的创建及其使用
- day06_06_手机类练习
- day06_07_一个对象的内存图
- day06_08_两个对象使用同一个方法的内存图
- day06_09_两个引用指向同一个对象的内存图
- day06_10_使用对象类型作为方法的参数
- day06_11_使用对象类型作为方法的返回值
- day06_12_成员变量和局部变量的区别
- day06_13_面向对象三大特征之封装性
- day06_14_private关键字的作用及使用
- day06_15_练习使用private关键字定义学生类
- day06_16_this关键字的作用
- day06_17_构造方法
- day06_18_定义一个标准的类
第二章 就业课(2.0)-常用API第一部分
2-1 Scanner类
- day07_01_API概述和使用步骤
- day07_02_Scanner概述及其API文档的使用
- day07_03_Scanner的使用步骤
- day07_04_Scanner练习一_键盘输入两个数字求和
- day07_05_Scanner练习二_键盘输入三个数字求最大值
2-2 匿名对象
- day07_06_匿名对象的说明
- day07_07_匿名对象作为方法的参数和返回值
2-3 Random类
- day07_08_Random概述和基本使用
- day07_09_Random生成指定范围的随机数
- day07_10_Random练习一_生成1-n之间的随机数
- day07_11_Random练习二_猜数字小游戏
2-4 ArrayList集合
- day07_12_对象数组
- day07_13_ArrayList集合概述和基本使用
- day07_14_ArrayList集合的常用方法和遍历
- day07_15_ArrayList集合存储基本数据类型
- day07_16_ArrayList练习一_存储随机数字
- day07_17_ArrayList练习二_存储自定义对象
- day07_18_ArrayList练习三_按指定格式遍历集合字符串
- day07_19_ArrayList练习四_筛选集合中的随机数
2-5 String类
- day08_01_字符串概述和特点
- day08_02_字符串的构造方法和直接创建
- day08_03_字符串的常量池
- day08_04_字符串的比较相关方法
- day08_05_字符串的获取相关方法
- day08_06_字符串的截取方法
- day08_07_字符串的转换相关方法
- day08_08_字符串的分割方法
- day08_09_练习:按指定格式拼接字符串
- day08_10_练习:统计输入的字符串中各种字符的个数
2-6 static静态
- day08_11_静态static关键字概述
- day08_12_静态static关键字修饰成员变量
- day08_13_静态static关键字修饰成员方法
- day08_14_静态static的内存图
- day08_15_静态代码块
2-7 Arrays工具类
- day08_16_数组工具类Arrays
- day08_17_Arrays练习:字符串倒序排列
2-8 Math类
- day08_18_数学工具类Math
- day08_19_Math练习:小学数学真题
第三章 就业课(2.0)-继承与多态
3-1 继承
- day09_01_继承的概述
- day09_02_继承的格式
- day09_03_继承中成员变量的访问特点
- day09_04_区分子类方法中重名的三种变量
- day09_05_继承中成员方法的访问特点
- day09_06_继承中方法的覆盖重写_概念与特点
- day09_07_继承中方法的覆盖重写_注意事项
- day09_08_继承中方法的覆盖重写_应用场景
- day09_09_继承中构造方法的访问特点
- day09_10_super关键字的三种用法
- day09_11_this关键字的三种用法
- day09_12_super与this关键字图解
- day09_13_Java继承的三个特点
3-2 抽象类
- day09_14_抽象的概念
- day09_15_抽象方法和抽象类的格式
- day09_16_抽象方法和抽象类的使用
- day09_17_抽象方法和抽象类的注意事项
- day09_18_发红包案例_分析
- day09_19_发红包案例_实现
3-3 接口
- day10_01_接口概述与生活举例
- day10_02_接口的定义基本格式
- day10_03_接口的抽象方法定义
- day10_04_接口的抽象方法使用
- day10_05_接口的默认方法定义
- day10_06_接口的默认方法使用
- day10_07_接口的静态方法定义
- day10_08_接口的静态方法使用
- day10_09_接口的私有方法定义
- day10_10_接口的私有方法使用
- day10_11_接口的常量定义和使用
- day10_12_接口的内容小结
- day10_13_继承父类并实现多个接口
- day10_14_接口之间的多继承
3-4 多态
- day10_15_多态的概述
- day10_16_多态的格式与使用
- day10_17_多态中成员变量的使用特点
- day10_18_多态中成员方法的使用特点
- day10_19_使用多态的好处
- day10_20_对象的向上转型
- day10_21_对象的向下转型
- day10_22_用instanceof关键字进行类型判断
- day10_23_笔记本USB接口案例_分析
- day10_24_笔记本USB接口案例_实现
3-5 final关键字
- day11_01_final关键字概念与四种用法
- day11_02_final关键字用于修饰类
- day11_03_final关键字用于修饰成员方法
- day11_04_final关键字用于修饰局部变量
- day11_05_final关键字用于修饰成员变量
3-6 权限修饰符
- day11_06_四种权限修饰符
3-7 内部类
- day11_07_内部类的概念与分类
- day11_08_成员内部类的定义
- day11_09_成员内部类的使用
- day11_10_内部类的同名变量访问
- day11_11_局部内部类定义
- day11_12_局部内部类的final问题
- day11_13_匿名内部类
- day11_14_匿名内部类的注意事项
- day11_15_类作为成员变量类型
- day11_16_接口作为成员变量类型
- day11_17_接口作为方法的参数和或返回值
- day11_18_发红包案例_分析
- day11_19_发红包案例_普通红包平均分发
- day11_20_发红包案例_手气红包随机分发
第四章 就业课(2.0)-常用API第二部分
4-1 Object类
- 02_Object类的toString方法
- 03_Object类的equals方法
- 04_重写Object类的equals方法
- 05_Objects类的equals方法
- 05_1Object类&Objects类
4-2 Date类
- 06_毫秒值的概念和作用
- 07_Date类的构造方法和成员方法
- 08_DateFormat类&SimpleDateFormat类介绍
- 09_DateFormat类的format方法和parse方法
- 10_练习_请使用日期时间相关的API,计算出一个人已经出生了多少天
4-3 Calendar类
- 11_Calendar类介绍_获取对象的方式
- 12_Calendar类的常用成员方法
- 12_1时间日期相关类
4-4 System类
- 13_System类的常用方法
4-5 StringBuilder类
- 14_StringBuilder的原理
- 15_StringBuilder的构造方法和append方法
- 16_StringBuilder的toString方法
- 16_1System类&StringBuilder类
4-6 基本类型包装类
- 17_包装类的概念
- 18_包装类_装箱与拆箱
- 19_包装类_自动装箱与自动拆箱
- 20_包装类_基本类型与字符串类型之间的相互转换
- 20_1包装类
第五章 就业课(2.0)-集合
5-1 Collection集合
- 02_Collection集合概述
- 03_集合框架介绍avi
- 04_Collection集合常用功能
- 04_2Collection集合
- 05_Iterator接口介绍
- 06_迭代器的代码实现
- 07_迭代器的实现原理
- 08_增强for循环
- 08_2迭代器&增强for
5-2 泛型
- 09_泛型的概念
- 10_使用泛型的好处
- 11_定义和使用含有泛型的类
- 12_定义和使用含有泛型的方法(1)
- 13_定义和使用含有泛型的接口
- 14_泛型通配符
- 14_2泛型的使用
5-3 斗地主案例(单列)
- 15_斗地主案例的需求分析
- 16_斗地主案例的代码实现
5-4 数据结构
- 02_数据结构_栈
- 03_数据结构_队列
- 04_数据结构_数组
- 05_数据结构_链表
- 06_数据结构_红黑树
5-5 List集合
- 07_List集合_介绍&常用方法
- 08_Arraylist集合
- 09_LinkedList集合
- 10_Vector集合
5-6 Set集合
- 11_HashSet集合介绍
- 12_哈希值
- 13_HashSet集合存储数据的结构(哈希表)
- 14_Set集合存储元素不重复的原理
- 15_HashSet存储自定义类型元素
- 16_LinkedHashSet集合
- 17_可变参数
5-7 Collections工具类
- 18_Collections集合工具类的方法_addAll&shuffle
- 19_Collections集合工具类的方法_sort(List)
- 20_Collections集合工具类的方法_sort(List,Comparator)
5-8 Map集合
- 01_Map集合概述
- 02_Map常用子类
- 03_Map接口中的常用方法
- 04_Map集合遍历键找值方式
- 05_Entry键值对对象
- 06_Map集合遍历键值对方式
- 07_HashMap存储自定义类型键值
- 08_LinkedHashMap集合
- 09_Hashtable集合
- 10_练习_计算一个字符串中每个字符出现次数
- 11_JDK9对集合添加的优化_of方法
5-9 Debug调试
- 12_Debug追踪
5-10 斗地主案例(双列)
- 13_斗地主案例的需求分析
- 14_斗地主案例的代码实现
第六章 就业课(2.0)-异常与多线程
6-1 异常
- 02_异常概念&异常体系
- 03_异常分类
- 04_异常的产生过程解析
- 05_throw关键字
- 06_Objects非空判断_requireNonNull方法
- 07_throws关键字_异常处理的第一种方式,交给别人处理
- 08_try_catch_异常处理的第二种方式,自己处理异常
- 09_Throwable类中3个异常处理的方法
- 10_finally代码块
- 11_异常注意事项_多异常的捕获处理
- 12_异常注意事项_finally有return语句
- 13_异常注意事项_子父类异常
- 14_自定义异常类
- 15_自定义异常类的练习
6-2 线程实现方式
- 16_并发与并行
- 17_进程概念
- 18_线程概念
- 19_线程调度
- 20_主线程
- 21_创建多线程程序的第一种方式_创建Thread类的子类
- 02_多线程原理_随机性打印结果
- 03_多线程原理_多线程内存图解
- 04_Thread类的常用方法_获取线程名称的方法
- 05_Thread类的常用方法_设置线程名称的方法
- 06_Thread类的常用方法_sleep
- 07_创建多线程程序的第二种方式_实现Runnable接口
- 08_Thread和Runnable的区别
- 09_匿名内部类方式实现线程的创建
6-3 线程同步机制
- 10_线程安全问题的概述
- 11_线程安全问题的代码实现
- 12_线程安全问题产生的原理
- 13_解决线程安全问题_同步代码块
- 14_同步技术的原理
- 15_解决线程安全问题_同步方法
- 16_静态同步方法
- 17_解决线程安全问题_Lock锁
6-4 等待唤醒机制
- 18_线程状态概述
- 19_等待唤醒案例分析
- 20_等待唤醒案例代码实现
- 21_Object类中wait带参方法和notifyAll方法
- 02_线程间通信
- 03_等待唤醒机制概述
- 04_等待唤醒机制需求分析
- 05_等待唤醒机制代码实现_包子类&包子铺类
- 06_等待唤醒机制代码实现_吃货类&测试类
6-5 线程池
- 07_线程池的概念和原理
- 08_线程池的代码实现
6-6 Lambda表达式
- 09_函数式编程思想概述
- 10_冗余的Runnable代码
- 11_编程思想转换&体验Lambda的更优写法
- 12_Lambda标准格式
- 13_Lambda表达式的无参数无返回值的练习
- 14_Lambda表达式有参数有返回值的练习
- 15_Lambda表达式有参数有返回值的练习(自定义接口)
- 16_Lambda省略格式&Lambda使用前提
第七章 就业课(2.0)-File类与IO流
7-1 File类
- 02_File类的概述
- 03_File类的静态成员变量
- 04_绝对路径和相对路径
- 05_File类的构造方法
- 06_File类获取功能的方法
- 07_File类判断功能的方法
- 08_File类创建删除功能的方法
- 09_File类遍历(文件夹)目录功能
7-2 递归
- 10_递归概念&分类&注意事项
- 11_练习_使用递归计算1-n之间的和
- 12_练习_使用递归计算阶乘
- 13_练习_递归打印多级目录
- 14_综合案例_文件搜索
7-3 过滤器
- 15_FileFilter过滤器的原理和使用
- 16_FileNameFilter过滤器的使用和Lambda优化程序
7-4 IO字节流
- 02_IO概述(概念&分类)
- 03_一切皆为字节
- 04_字节输出流_OutputStream类&FileOutputStream类介绍
- 05_字节输出流写入数据到文件
- 06_文件存储的原理和记事本打开文件的原理
- 07_字节输出流写多个字节的方法
- 08_字节输出流的续写和换行
- 09_字节输入流_InputStream类&FileInputStream类介绍
- 10_字节输入流读取字节数据
- 11_字节输入流一次读取一个字节的原理
- 12_字节输入流一次读取多个字节
- 13_练习_文件复制
- 14_使用字节流读取中文的问题
7-5 IO字符流
- 15_字符输入流_Reader类&FileReader类介绍
- 16_字符输入流读取字符数据
- 17_字符输出流_Writer类&FileWriter类介绍
- 18_字符输出流的基本使用_写出单个字符到文件
- 19_flush方法和close方法的区别
- 20_字符输出流写数据的其他方法
- 21_字符输出流的续写和换行
- 22_使用try_catch_finally处理流中的异常
- 23_JDK7和JDK9流中异常的处理
7-6 Properties集合
- 24_使用Properties集合存储数据,遍历取出Properties集合中的数据
- 25_Properties集合中的方法store
- 26_Properties集合中的方法load
7-7 缓冲流
- 02_缓冲流的原理
- 03_BufferedOutputStream_字节缓冲输出流
- 04_BufferedInputStream_字节缓冲输入流
- 05_缓冲流的效率测试_复制文件
- 06_BufferedWriter_字符缓冲输出流
- 07_BufferedReader_字符缓冲输入流
- 08_练习_对文本的内容进行排序
7-8 转换流
- 09_字符编码和字符集
- 10_编码引出的问题_FileReader读取GBK格式的文件
- 11_转换流的原理
- 12_OutputStreamWriter介绍&代码实现
- 13_InputStreamReader介绍&代码实现
- 14_练习_转换文件编码
7-9 序列化流
- 15_序列化和反序列化的概述
- 16_对象的序列化流_ObjectOutputStream
- 17_对象的反序列化流_ObjectInputStream
- 18_transient关键字_瞬态关键字
- 19_InvalidClassException异常_原理和解决方案
- 20_练习_序列化集合
7-10 打印流
- 21_打印流_概述和使用
第八章 就业课(2.0)-网络编程
8-1 网络通信概述
- 02_软件结构
- 03_网络通信协议
- 04_网络通信协议分类
- 05_IP地址
- 06_端口号
8-2 TCP协议
- 07_TCP通信的概述(上)
- 08_TCP通信的概述(下)
- 09_TCP通信的客户端代码实现
- 10_TCP通信的服务器端代码实现
8-3 综合案例_文件上传
- 11_综合案例_文件上传的原理
- 12_综合案例_文件上传案例的客户端
- 13_综合案例_文件上传案例的服务器端
- 14_综合案例_文件上传案例阻塞问题
- 15_综合案例_文件上传案例优化(文件命名&循环接收&多线程提高效率)
8-4 模拟BS服务器案例
- 16_模拟BS服务器分析
- 17_模拟BS服务器代码实现
第九章 就业课(2.0)-JDK8新特性
9-1 常用函数接口
- 02_函数式接口的概念&函数式接口的定义
- 03_函数式接口的使用
- 04_性能浪费的日志案例
- 05_使用Lambda优化日志案例
- 06_函数式接口作为方法的参数案例
- 07_函数式接口作为方法的返回值类型案例
- 08_常用的函数式接口_Supplier接口
- 09_常用的函数式接口_Supplier接口练习_求数组元素最大值
- 10_常用的函数式接口_Consumer接口
- 11_常用的函数式接口_Consumer接口的默认方法andThen
- 12_常用的函数式接口_Consumer接口练习_字符串拼接输出
- 13_常用的函数式接口_Predicate接口
- 14_常用的函数式接口_Predicate接口_默认方法and
- 15_常用的函数式接口_Predicate接口_默认方法or&negate
- 16_常用的函数式接口_Predicate接口练习_集合信息筛选
- 17_常用的函数式接口_Function接口
- 18_常用的函数式接口_Function接口_默认方法andThen
- 19_常用的函数式接口_Function接口练习_自定义函数模型拼接
9-2 Stream流式思想概述
- 02_使用传统的方式,遍历集合,对集合中的数据进行过滤
- 03_使用Stream流的方式,遍历集合,对集合中的数据进行过滤
- 04_流式思想概述
9-3 两种获取Stream流的方式
- 05_两种获取Stream流的方式
- 06_Stream流中的常用方法_forEach
- 07_Stream流中的常用方法_filter
- 08_Stream流的特点_只能使用一次
- 09_Stream流中的常用方法_map
- 10_Stream流中的常用方法_count
- 11_Stream流中的常用方法_limit
- 12_Stream流中的常用方法_skip
- 13_Stream流中的常用方法_concat
- 14_练习:集合元素处理(传统方式)
- 15_练习:集合元素处理(Stream方式)
9-4 方法引用
- 16_方法引用基本介绍
- 17_方法引用_通过对象名引用成员方法
- 18_方法引用_通过类名引用静态成员方法
- 19_方法引用_通过super引用父类的成员方法
- 20_方法引用_通过this引用本类的成员方法
- 21_方法引用_类的构造器(构造方法)引用
- 22_方法引用_数组的构造器引用