本课程讲解JavaSE的高级技术,包括程序调试技术,抽象类与接口的基本应用,异常处理及异常在开发中的应用,使用数组存储数据, Java常用类以及常用类的常用操作,Collection集合及Map集合的特点及应用, 使用IO流读写文件内容, 开发多线程应用程序及线程同步,反射技术的基本使用等内容。
1-1 数组定义语法
1-2 数组定义内存说明
1-3 通过索引值访问数组元素
1-4 为什么通过索引值可以访问数组元素
1-5 代码演示创建数组
1-6 使用for循环和foreach遍历数组元素
1-7 键盘输入小数存储到数组中
1-8 数组的静态初始化
1-9 数组元素的默认初始化
1-10 数组练习找最小元素下标
1-11 统计字符数组中某个字符的次数
1-12 统计字符数组中每个字符出现的次数
1-13 数组作为方法返回值与方法参数
1-14 练习数组元素逆序
1-15 练习数组元素乱序
1-16 练习把数组元素连接为字符串
1-17 可变长参数
1-18 数组扩容1
1-19 数组扩容2
1-20 数组扩容3
1-21 JNI简介
1-22 数组特点
1-23 向数组中插入元素
1-24 对象数组的定义与遍历
1-25 定义变量记录数组中元素的数量
1-26 在对象数组中查找数据
1-27 对象数组内存分析
1-28 删除对象数组中的元素
1-29 冒泡排序
1-30 冒泡排序2
1-31 冒泡排序3
1-33 选择排序2
1-34 选择排序3
1-35 二分查找算法1
1-36 二分查找算法2
1-37 二分查找算法3
1-38 Arrays工具类1
1-39 Arrays工具类2
1-40 对象数组排序1
1-41 对象数组排序2
1-42 对象数组排序3
1-43 对象数组排序4
1-44 二维数组1
1-45 二维数组2
1-46 二维数组3
1-47 二维数组4
1-48 综合练习1定义实体类
1-49 综合练习2定义公司类
1-50 综合练习3添加员工
1-51 综合练习4判断是否存在指定姓名的员工
1-52 综合练习5判断是否存在指定姓名的员工
1-53 综合练习6删除指定姓名的员工
1-54 综合练习7对员工进行排序
1-55 数组小结
2-1 创建String对象
2-2 创建String对象2
2-3 String类的方法1遍历字符串的每个字符
2-4 String类的常用方法2比较字符串大小
2-5 String类的常用方法3判断包含和相等
2-6 String类的常用方法4字符串与字节数组的相互转换
2-7 String类的常用方法5取子串
2-8 String类的常用方法6字符串与字符数组的相互转换
2-9 String类的常用方法7整数与字符串的相互转换
2-10 String类的常用方法8正则表达式简介
2-11 String类的常用方法9与正则表达式相关的方法
2-12 String类的常用方法10小结
2-13 String字符串字面量1
2-14 String字符串字面量2
2-15 String对象是不可变的
2-16 String对象是不可变的2
2-17 String对象是不可变的3
2-18 StringBuilder可变字符串1
2-19 StringBuilder可变字符串2
2-20 创建Date对象
2-21 Date日期格式化与字符串的相互转换
2-22 线程安全的日期类LocalDateTime
2-23 Math数学类
2-24 Random随机数类
2-25 DecimalFormat数字格式化类
2-26 BigDecimal高精度数字类
2-27 包装类概述1
2-28 包装类概述2
2-29 创建包装类对象
2-30 包装类的常用方法1
2-31 包装类的常用方法2
2-32 包装类的常用方法3
2-33 包装类的常用方法4
2-34 包装类的常用方法5
2-35 装箱与拆箱
2-36 练习字符串逆序
2-37 练习输入SFZ号判断出生日期与性别1
2-38 练习输入SFZ号判断出生日期与性别2
2-39 练习根据字符串中学生信息创建Student对象保存到数组中
3-1 Collection概述
3-2 Collection集合结构
3-3 Collection集合特点
3-4 Collection集合的基本操作1
3-5 Collection集合的基本操作2
3-6 Collection集合泛型
3-7 Collection集合迭代遍历
3-8 Collection集合迭代删除多个元素
3-9 Collection集合之间的操作
3-10 Collection集合操作小结
3-11 List集合基本操作1
3-12 List集合增加针对索引值的操作
3-13 ListIterator迭代遍历List集合
3-14 List排序与通过subList查看List元素
3-15 List集合与数组的相互转换
3-16 List练习在集合中存储自定义类型对象1
3-17 List练习在集合中存储自定义类型对象2
3-18 List练习List集合中存储整数
3-19 List练习修改公司类使用List存储员工对象
3-20 List练习世界杯足球队分组
3-21 在List集合中存储另外一个List集合
3-22 ArrayList源码分析
3-23 LinkedList之单向链表
3-24 LinkedList之双向链表
3-25 LinkedList重写了List接口所有的抽象方法
3-26 LinkedList之Deque双端队列
3-27 LinkedList实现了Deque队列接口的抽象方法
3-28 Set集合特点
3-29 Set存储不重复的整数
3-30 HashSet集合元素的存储位置与哈希码有关
3-31 TreeSet集合可以对集合中元素进行排序
3-32 TreeSet集合存储自定义Student对象
3-33 Collection集合小结
3-34 Set练习把数组中重复元素去掉
3-35 Set练习生成一注双色球
3-36 Set练习定义TreeSet存储学生对象
3-37 Set练习找出集合中最高分与最低分的同学
3-38 Set练习使用HashSet存储学生对象保证学号唯一
3-39 Map概述
3-42 演示Map的基本操作1
3-43 演示Map的基本操作2
3-44 练习使用Map存储课程名称与老师
3-45 练习统计字符串中每个字符的次数保存到map
3-46 HashMap工作原理1
3-47 HashMap工作原理2
3-48 HashMap工作原理3
3-49 HashMap采用链表法解决哈希冲突
3-50 HashMap在JDK8中的改进
3-51 HashTable特点
3-52 HashMap源码分析
3-53 Properties的基本使用
3-54 在程序中添加配置文件
3-55 使用Properties读取配置文件的属性
3-56 使用ResouceBundle读取配置文件
3-57 TreeMap
3-58 用户注册与登录1主界面
3-59 用户注册与登录2用户注册
3-60 用户注册与登录3用户登录
3-61 用户注册与登录改使用方法实现注册与登录
3-62 用户注册与登录改2实现界面与业务的分离
3-63 用户注册与登录改2定义业务层用户管理类
3-64 用户注册与登录改2定义界面类
3-65 红黑树简介
3-66 红黑树结点的遍历
3-67 TreeMap的键是自定义类型1
3-68 TreeMap的键是自定义类型2
3-69 TreeMap的键是自定义类型存在的问题
3-70 HashMap的键是自定义类型存在的问题
3-71 Map的value值可以是数组或者集合1
3-72 Map的value值定义为数组
3-73 Map的value值定义为List集合
3-74 Map小结
3-75 HashSet与TreeSet源码分析
3-76 泛型概述
3-77 自定义方法泛型
3-78 自定义类泛型
3-79 Collections工具类
3-80 Lambda表达式
3-81 Lambda表达式2
3-82 模拟斗地主发牌1
3-83 模拟斗地主发牌2
3-84 模拟斗地主发牌3
3-85 模拟斗地主发牌4
3-86 模拟斗地主发牌5
3-87 模拟斗地主发牌6
3-88 在List中存储Map集合
3-89 在List集合中存储Map集合2
5-1 IO流概述
5-2 IO流与文件读写相关的类
5-3 创建FileInputStream流对象
5-4 FileInputStream流的常用方法
5-5 使用FileInputStream流读取文件所有的字节
5-6 使用FileInputStream流把字节读到字节数组中1
5-7 使用FileInputStream流把字节读到字节数组中2
5-8 使用FileOutputStream流把字节写入文件
5-9 复制文件
5-10 复制文件2
5-11 复制文件3
5-12 缓冲字节流的工作原理
5-13 BufferedInputStream输入缓冲字节流
5-14 BufferedOutputStream输出缓冲字节流
5-15 Data数据流介绍
5-16 DataOutputStream流写入文件
5-17 DataInputStream流读取文件中的数据
5-18 PrintStream打印流
5-19 序列化的概念
5-20 对象序列化与反序列化
5-21 serialVersionUID序列化版本号字段值
5-22 serialVersionUID序列化版本号字段2
5-23 序列化多个对象
5-24 FileReader读取纯文本文件
5-25 FileReader读取纯文本文件2
5-26 FileWriter把字符写入文件
5-27 InputStreamReader转换流
5-28 OutputStreamWriter转换流
5-29 转换流的说明
5-30 BufferedReader缓冲输入字符流
5-31 BufferedWriter缓冲输出字符流
5-32 使用BufferedReader从键盘读取数据
5-33 创建File对象关联文件
5-34 通过File操作文件
5-35 通过File操作文件夹
5-36 显示文件夹内容包括子文件夹内容
5-37 定义方法删除指定的文件夹
5-38 定义方法实现文件夹的复制
5-39 IO流中的设计模式
5-40 NIO概述
5-41 NIO读取文件
5-42 NIO写入文件
6-1 线程的概念
6-2 并发的概念
6-3 创建线程概述
6-7 实现Callable接口创建线程
6-8 实现Callable接口创建线程2
6-9 线程方法之活动线程
6-10 线程方法之当前线程
6-11 线程方法之线程id
6-12 线程方法之线程名称
6-13 线程方法之优先级
6-14 线程方法之中断线程
6-15 线程方法之结束线程
6-16 线程方法之守护线程
6-17 线程方法之线程合并
6-18 线程方法之线程睡眠1
6-19 线程方法之线程中断睡眠
6-20 线程方法之线程让步
6-21 线程生命周期State枚举值介绍
6-22 线程生命周期各个状态之间的转换
6-23 线程生命周期获得线程的状态
6-24 线程的优势与存在的风险
6-25 线程安全问题1
6-26 线程安全问题体现在三个方面
6-27 Java内存模型1
6-28 Java内存模型2
6-29 Java内存模型3
6-30 Java内存模型4
6-31 CAS
6-32 线程同步简介
6-33 锁工作原理
6-34 锁可以保证线程安全性
6-35 锁的分类
6-36 synchronized同步代码块
6-37 同步就是把并发改为串行操作
6-38 同步代码块需要使用同一个锁对象
6-39 同步方法
6-40 模拟多人同时从一账户中取钱
6-41 模拟多人同时从一个账户中取钱2
6-42 模拟多人同时从一个账户中取钱3
6-43 模拟多人同时从一个账户中取钱4
6-44 模拟多从同时从一个账户中聚钱5
6-45 模拟多窗口同时出售车票1
6-46 模拟多窗口同时出售车票2
6-47 演示脏读1
6-48 演示脏读解决方法
6-49 演示死锁
6-50 演示避免死锁
6-51 现实生活中的等待通知机制
6-52 wait等待模板
6-53 notify唤醒模板
6-54 演示简单的等待与通知
6-55 定义两个线程交替打印1
6-56 定义两个线程交替打印2
6-57 定义两个线程交替打印3
6-58 定义两个线程交替打印4
6-59 定义两个线程交替打印5
6-60 生产者消费者设计模式1
6-61 生产者消费者设计模式2
6-62 生产者消费者设计模式3
6-63 Timer定时器类
6-64 使用锁的注意事项
获取步骤