课程试听
正在播放
第一章 就业课(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_方法引用_数组的构造器引用