2023年6月20日发(作者:)
⿊马程序员全套Java教程_Java基础教程_⽬录注:⽂章会不断更新,会针对不同的知识点添加⼀些遇到⾯试题,同时内容也会根据⾃⼰学到的东西不断完善。概述(⼀)1、Java语⾔发展史 1.1 Java语⾔ 1.2 Java语⾔发展史 2、Java语⾔跨平台原理 2.1 平台 2.2 跨平台 2.3 Java语⾔跨平台原理 3、JRE和JDK 3.1 JRE(Java Runtime Environment) 3.2 JDK(Java Development Kit) 3.3 JDK、JRE和JVM的关系第⼀个程序(⼆)1、常⽤DOS命令 1.1 打开命令提⽰符窗⼝ 1.2 常⽤命令 2、Path环境变量的配置 2.1 为什么要配置Path环境变量 2.2 如何配置Path环境变量 2.3 如何检测配置Path环境变量是否成功 3、HelloWorld案例 3.1 Java程序开发运⾏流程 3.2 HelloWorld案例的编写 3.3HelloWorld案例的编译和运⾏ 4、BUG的起源基础语法(三)1、注释 1.1 注释概述 1.2 注释格式 2、关键字 2.1 关键字概述 2.2关键字的特点 3、常量 3.1 常量概述 3.2 常量分类 4、数据类型 4.1计算机存储单元 4.2 数据类型 4.3 数据类型内存占⽤和取值范围 5、变量 5.1 变量概述 5.2 变量定义 5.3 变量的使⽤ 5.4 变量使⽤的注意事项 6、标识符 6.1 标识符概述 6.2 标识符定义规则 6.3 常见命名约定 7、类型转换 7.1 类型转换分类 7.2 ⾃动类型转换 7.3 强制类型转换运算符(四)1、算数运算符(5个) 1.1 运算符和表达式 1.2 算术运算符 1.3 字符的“+”操作 1.4 字符串的“+”操作 2、赋值运算符(6个) 3、⾃增⾃减运算符(2个) 4、关系运算符(6个) 5、逻辑运算符(6个) 5.1 概述 5.2 逻辑运算符 5.3 短路逻辑运算符 6、三元运算符(1个)数据输⼊Scanner的使⽤(五)1.1 导包1.2 创建对象1.3 接收数据分⽀语句(六)1、流程控制 1.1 流程控制语句分类 1.2 顺序结构 2、if语句 2.1 if语句格式1 3.1 if语句格式2 3.2 if语句格式3 3、switch语句 3.1switch语句格式循环语句(⼋)1、for循环语句 1.1 循环结构 1.2 for循环语句格式 1.3 案例:⽔仙花 2、while循环语句 3、do…while循环语句 3.1 do…while循环语句格式 3.2 三种循环的区别 4、控制跳转语句 5、循环嵌套 6、Random 6.1 Random的作⽤和使⽤步骤IDEA(九)1、IDEA概述和安装 2、IDEA中的HelloWorld的实现 3、IDEA中的项⽬结构 3.1 IDEA中的项⽬结构 3.2 设置字体 4、IDEA中的内容辅助键和快捷键 4.1 内容辅助键 4.2 快捷键 5、IDEA中的模块操作数组(⼗)1、数组定义格式 1.1 数组概述 1.2 数组的定义格式 2、数组初始化之动态初始化 2.1 数组初始化概述 2.2 数组初始化⽅式 2.3 动态初始化 3、数组元素访问 4、内存分配 5、数组初始化之静态初始化 6、数组操作的两个常见⼩问题 7、数组相关常见操作 7.1 遍历 7.2 获取数组元素数量 7.3 获取最值⽅法(⼗⼀)1、⽅法概述 2、⽅法的定义和调⽤ 2.1 ⽅法定义 2.2 ⽅法调⽤ 2.3 形参和实参 3、⽅法的注意事项 4、⽅法重载 4.1 ⽅法重载概述 4.2⽅法重载的特点 5、⽅法参数的传递 5.1 ⽅法基本类型参数的传递 5.2 ⽅法引⽤类型参数的传递 5.3 案例:数组遍历Debug(⼗⼆)1.1 Debug概述1.2 Debug操作流程⾯向对象基础(⼗三)1、类和对象 1.1 什么是对象 1.2 什么是⾯向对象 1.3 什么是类 1.4 什么的对象的属性 1.5 什么的对象的⾏为 1.6 类和对象的关系 1.7类的定义 1.8 对象的使⽤ 2、对象内存图 2.1 对象的内存图(单个对象) 2.2 对象的内存图(多个对象) 2.3 对象的内存图(多个对象指向相同) 3、成员变量和局部变量 3.1 什么是成员变量和局部变量 3.2 成员变量和局部变量的区别 4、封装 4.1 private关键字 4.2private关键字的使⽤ 4.3 this关键字 4.4 this内存原理 4.5 封装 5、构造⽅法 5.1 构造⽅法概述 5.2 构造⽅法的注意事项 5.3 标准类制作API(⼗四)1、API 1.1 API概述 1.2 如何使⽤帮助⽂档 2、String 2.1 String 2.2 String构造⽅法 2.3 String对象的特点 2.4 字符串的⽐较 2.5 ⾯试题——统计字符次数 2.6 通过帮助⽂档查看String中的⽅法 3、StringBuilder 3.1 StringBulider概述 3.2 StringBuilder构造⽅法 3.3StringBuilder的添加和反转⽅法 3.4 StringBuilder和String互相转换 案例:拼接字符串 案例:字符串反转 3.5 通过帮助⽂档查看StringBuilder中的⽅法集合基础(⼗五)1.1 集合概述1.2 ArrayList构造⽅法和添加⽅法1.3 ArrayList集合常⽤⽅法案例⼀:存储字符串并遍历案例⼆:存储学⽣对象并遍历案例三:键盘存储学⽣对象并遍历学⽣管理系统(⼗六)1.1 学⽣管理系统实现思路1.2 定义学⽣类1.3 主界⾯的代码编写1.4 添加学⽣的代码编写1.5 查看学⽣的代码编写1.6 查看学⽣的代码编写升级版1.7 删除学⽣的代码编写1.8 修改学⽣信息的代码编写1.9 解决添加学⽣学号重复问题继承(⼗七)1.1 继承概述1.2 继承的好处和弊端1.3 继承中变量的访问特点1.4 super1.5 继承中构造⽅法的访问特点1.6 继承中成员⽅法的访问特点1.7 super的内存图1.8 ⽅法重写1.9 ⽅法重写的注意事项1.10 继承的注意事项案例⼀:⽼师和学⽣案例⼆:猫和狗修饰符(⼗⼋)1、包 2、导包 2.1 导包的概述和使⽤ 3、修饰符 3.1 修饰符的分类 3.2 权限修饰符 3.3 状态修饰符多态(⼗九)1.1 多态概述1.2 多态中成员访问特点1.3 多态的好处和弊端1.4 多态中的转型1.5 多态转型内存解析1.6 案例⼀:猫和狗抽象类与接⼝(⼆⼗)1、抽象类 1.1 抽象类概述 1.2 抽象类的特点 1.3 抽象类的成员特点 案例:猫和狗 2、接⼝ 2.1 接⼝概述 2.2 接⼝的特点 2.3 基于抽象类和接⼝,得出的多态的形式和前提总结 2.4 接⼝的成员特点 案例:猫和狗 2.5 类和接⼝的关系 2.6 抽象类和接⼝的区别 案例:运动员和教练 3、⾯向对象中的形参和返回值 1.1 类名作为形参和返回值 1.2 抽象类名作为形参和返回值 1.3 接⼝名作为形参和返回值内部类(⼆⼗⼀)1.1 内部类概述1.2 成员内部类1.3 局部内部类1.4 匿名内部类1.5 匿名内部类在开发中的使⽤常⽤API(⼆⼗⼆)1、Math 1.1 Math类概述 1.2 Math类的常⽤⽅法 2、System 2.1 System类概述 2.2 System类的使⽤⽅法 3、Object 3.1 Object类的概述 3.2 Object类的常⽤⽅法 3.3 toString() 3.4 equals() 4、Arrays 4.1 冒泡排序 4.2 Arrays类的概述和常⽤⽅法 5、基本类型包装类 5.1 基本类型包装类概述 5.2 Integer类的概述和使⽤ 5.3 int和String的相互转换 案例:字符串中数据排序 5.4 ⾃动装箱和拆箱 6、⽇期类 6.1 Date类概述和构造⽅法 6.2 Date类的常⽤⽅法 6.3 SimpleDateFormat类概述 6.4 SimpleDateFormat的构造⽅法 6.5SimpleDateFormat格式化和解析⽇期 案例:⽇期⼯具类 6.6 Calendar类概述 6.7 Calendar的常⽤⽅法 案例:⼆⽉天异常(含扩展)(⼆⼗三)1.1 异常概述与异常体系结构1.2 JVM遇到异常时的默认处理⽅案1.3 异常处理1.4 异常处理之try……catch……1.5 Throwable的成员⽅法1.6 编译时异常和运⾏时异常的区别1.7 异常处理之throws1.8 ⾃定义异常集合进阶之Collection(⼆⼗四)1.1 集合知识回顾1.2 集合类体系结构1.3 Collection集合概述和使⽤1.4 Collection集合的常⽤⽅法1.5 Collection结合的遍历1.6 集合使⽤步骤案例:Collection集合存储学⽣对象并遍历集合进阶之List(⼆⼗五)2.1 List集合概述和特点2.2 List集合特有⽅法案例:List集合存储学⽣对象并遍历2.3 并发修改异常2.4 ListIterator2.5 增强for循环案例:List集合存储学⽣对象⽤三种⽅式遍历2.6 数据结构2.7 List集合⼦类特点2.8 LinkedList集合的特有功能集合进阶之Set(⼆⼗六)3.1 Set集合的概述和特点3.2 哈希值3.3 HashSet集合概述和特点3.4 HashSet集合保证元素唯⼀源码分析3.5 常见的数据结构之5哈希表案例:HashSet集合存储学⽣对象并遍历3.6 LinkedHashSet集合概述和特点3.7 TreeSet集合概述和特点3.8 ⾃然排序Comparable的使⽤3.9 ⽐较器排序Comparator的使⽤案例:成绩排序案例:不重复的随机数集合进阶之泛型(⼆⼗七)4.1 泛型概述4.2 泛型类4.3 泛型⽅法4.4 泛型接⼝4.5 类型通配符4.6 可变参数4.7 可变参数的使⽤集合进阶之Map(⼆⼗⼋)5.1 Map集合概述和使⽤5.2 Map集合的基本功能5.3 Map集合的获取功能5.4 Map集合的遍历(⽅式1)5.5 Map集合的遍历(⽅式2)案例:HashMap集合存储学⽣对象并遍历案例:HashMap集合存储学⽣对象并遍历案例:ArrayList集合存储HashMap元素并遍历案例:HashMap集合存储ArrayList元素并遍历案例:统计字符串中每个字符出现的个数集合进阶之Collections(⼆⼗九)6.1 Collections概述和使⽤案例:ArrayList存储学⽣对象并排序案例:模拟⽃地主案例:模拟⽃地主升级版IO流之File(三⼗)1.1、File类概述1.2 File类的创建功能1.3 File类删除功能1.4 File类判断和获取功能1.5 递归案例:递归求阶乘案例:遍历⽬录IO流之字节流(三⼗⼀)2.1 IO流概述和分类2.2 字节流写数据2.3 字节流写数据的三种⽅式2.4 字节流写数据的两个⼩问题2.5 字节流写数据加异常处理2.6 字节流读数据案例:复制⽂本⽂件2.6 字节流读数据(⼀次读⼀个字节数组)案例:复制图⽚2.7 字节缓冲流案例:复制视频IO流之字符流(三⼗⼆)3.1 为什么会出现字符流3.2 编码表3.3 字符串中的编码解码问题3.4 字符流中的编码解码问题3.5 字符流写数据的5种⽅式3.6 字符流读数据的两种⽅式3.7 案例:复制Java⽂件案例:复制Java⽂件(改进版)3.7 字符缓冲流案例:复制Java⽂件(字符缓冲流改进版)3.8 字符缓冲流的特有功能案例:复制Java⽂件(字符缓冲流特有功能改进版)3.9 IO流⼩结案例:集合到⽂件案例:⽂件到集合案例:点名器案例:集合到⽂件(学⽣数据版)案例:⽂件到集合(学⽣数据版)案例:集合到⽂件(学⽣数据排序版)案例:复制多级⽂件夹3.10 复制⽂件的异常处理IO流之特殊操作流(三⼗三)4.1 标准输⼊输出流4.2 打印流案例:复制Java⽂件(打印流改进版)4.3 对象序列化流4.4 Properties案例:游戏次数多线程之实现多线程(三⼗四)1.1 进程1.2 线程1.3 多线程的实现⽅式11.4 设置和获取线程名称1.5 线程调度1.6 线程控制1.7 线程⽣命周期1.8 多线程的实现⽅式2多线程之线程同步(三⼗五)案例:卖票2.1 卖票案例的思考2.2 卖票案例数据安全问题的解决2.3 同步代码块2.4 同步⽅法2.5 线程安全的类2.6 Lock锁多线程之⽣产者消费者(三⼗六)3.1 ⽣产者和消费者3.2 ⽣产者消费者案例多线程之反射(三⼗七)1、类加载器1.1 类加载1.2 类加载器2、反射2.1 反射概述2.2 获取Class类的对象(字节码⽂件对象)2.3 反射获取构造⽅法并使⽤2.4 反射获取构造⽅法并使⽤练习12.5 反射获取成员变量并使⽤2.6 反射获取成员变量并使⽤练习2.7 反射获取成员⽅法并使⽤2.7 反射获取成员⽅法并使⽤练习2.9 反射练习多线程之模块化(三⼗⼋)1.1 模块化概述1.2 模块的基本使⽤1.3 模块服务的使⽤
2023年6月20日发(作者:)
⿊马程序员全套Java教程_Java基础教程_⽬录注:⽂章会不断更新,会针对不同的知识点添加⼀些遇到⾯试题,同时内容也会根据⾃⼰学到的东西不断完善。概述(⼀)1、Java语⾔发展史 1.1 Java语⾔ 1.2 Java语⾔发展史 2、Java语⾔跨平台原理 2.1 平台 2.2 跨平台 2.3 Java语⾔跨平台原理 3、JRE和JDK 3.1 JRE(Java Runtime Environment) 3.2 JDK(Java Development Kit) 3.3 JDK、JRE和JVM的关系第⼀个程序(⼆)1、常⽤DOS命令 1.1 打开命令提⽰符窗⼝ 1.2 常⽤命令 2、Path环境变量的配置 2.1 为什么要配置Path环境变量 2.2 如何配置Path环境变量 2.3 如何检测配置Path环境变量是否成功 3、HelloWorld案例 3.1 Java程序开发运⾏流程 3.2 HelloWorld案例的编写 3.3HelloWorld案例的编译和运⾏ 4、BUG的起源基础语法(三)1、注释 1.1 注释概述 1.2 注释格式 2、关键字 2.1 关键字概述 2.2关键字的特点 3、常量 3.1 常量概述 3.2 常量分类 4、数据类型 4.1计算机存储单元 4.2 数据类型 4.3 数据类型内存占⽤和取值范围 5、变量 5.1 变量概述 5.2 变量定义 5.3 变量的使⽤ 5.4 变量使⽤的注意事项 6、标识符 6.1 标识符概述 6.2 标识符定义规则 6.3 常见命名约定 7、类型转换 7.1 类型转换分类 7.2 ⾃动类型转换 7.3 强制类型转换运算符(四)1、算数运算符(5个) 1.1 运算符和表达式 1.2 算术运算符 1.3 字符的“+”操作 1.4 字符串的“+”操作 2、赋值运算符(6个) 3、⾃增⾃减运算符(2个) 4、关系运算符(6个) 5、逻辑运算符(6个) 5.1 概述 5.2 逻辑运算符 5.3 短路逻辑运算符 6、三元运算符(1个)数据输⼊Scanner的使⽤(五)1.1 导包1.2 创建对象1.3 接收数据分⽀语句(六)1、流程控制 1.1 流程控制语句分类 1.2 顺序结构 2、if语句 2.1 if语句格式1 3.1 if语句格式2 3.2 if语句格式3 3、switch语句 3.1switch语句格式循环语句(⼋)1、for循环语句 1.1 循环结构 1.2 for循环语句格式 1.3 案例:⽔仙花 2、while循环语句 3、do…while循环语句 3.1 do…while循环语句格式 3.2 三种循环的区别 4、控制跳转语句 5、循环嵌套 6、Random 6.1 Random的作⽤和使⽤步骤IDEA(九)1、IDEA概述和安装 2、IDEA中的HelloWorld的实现 3、IDEA中的项⽬结构 3.1 IDEA中的项⽬结构 3.2 设置字体 4、IDEA中的内容辅助键和快捷键 4.1 内容辅助键 4.2 快捷键 5、IDEA中的模块操作数组(⼗)1、数组定义格式 1.1 数组概述 1.2 数组的定义格式 2、数组初始化之动态初始化 2.1 数组初始化概述 2.2 数组初始化⽅式 2.3 动态初始化 3、数组元素访问 4、内存分配 5、数组初始化之静态初始化 6、数组操作的两个常见⼩问题 7、数组相关常见操作 7.1 遍历 7.2 获取数组元素数量 7.3 获取最值⽅法(⼗⼀)1、⽅法概述 2、⽅法的定义和调⽤ 2.1 ⽅法定义 2.2 ⽅法调⽤ 2.3 形参和实参 3、⽅法的注意事项 4、⽅法重载 4.1 ⽅法重载概述 4.2⽅法重载的特点 5、⽅法参数的传递 5.1 ⽅法基本类型参数的传递 5.2 ⽅法引⽤类型参数的传递 5.3 案例:数组遍历Debug(⼗⼆)1.1 Debug概述1.2 Debug操作流程⾯向对象基础(⼗三)1、类和对象 1.1 什么是对象 1.2 什么是⾯向对象 1.3 什么是类 1.4 什么的对象的属性 1.5 什么的对象的⾏为 1.6 类和对象的关系 1.7类的定义 1.8 对象的使⽤ 2、对象内存图 2.1 对象的内存图(单个对象) 2.2 对象的内存图(多个对象) 2.3 对象的内存图(多个对象指向相同) 3、成员变量和局部变量 3.1 什么是成员变量和局部变量 3.2 成员变量和局部变量的区别 4、封装 4.1 private关键字 4.2private关键字的使⽤ 4.3 this关键字 4.4 this内存原理 4.5 封装 5、构造⽅法 5.1 构造⽅法概述 5.2 构造⽅法的注意事项 5.3 标准类制作API(⼗四)1、API 1.1 API概述 1.2 如何使⽤帮助⽂档 2、String 2.1 String 2.2 String构造⽅法 2.3 String对象的特点 2.4 字符串的⽐较 2.5 ⾯试题——统计字符次数 2.6 通过帮助⽂档查看String中的⽅法 3、StringBuilder 3.1 StringBulider概述 3.2 StringBuilder构造⽅法 3.3StringBuilder的添加和反转⽅法 3.4 StringBuilder和String互相转换 案例:拼接字符串 案例:字符串反转 3.5 通过帮助⽂档查看StringBuilder中的⽅法集合基础(⼗五)1.1 集合概述1.2 ArrayList构造⽅法和添加⽅法1.3 ArrayList集合常⽤⽅法案例⼀:存储字符串并遍历案例⼆:存储学⽣对象并遍历案例三:键盘存储学⽣对象并遍历学⽣管理系统(⼗六)1.1 学⽣管理系统实现思路1.2 定义学⽣类1.3 主界⾯的代码编写1.4 添加学⽣的代码编写1.5 查看学⽣的代码编写1.6 查看学⽣的代码编写升级版1.7 删除学⽣的代码编写1.8 修改学⽣信息的代码编写1.9 解决添加学⽣学号重复问题继承(⼗七)1.1 继承概述1.2 继承的好处和弊端1.3 继承中变量的访问特点1.4 super1.5 继承中构造⽅法的访问特点1.6 继承中成员⽅法的访问特点1.7 super的内存图1.8 ⽅法重写1.9 ⽅法重写的注意事项1.10 继承的注意事项案例⼀:⽼师和学⽣案例⼆:猫和狗修饰符(⼗⼋)1、包 2、导包 2.1 导包的概述和使⽤ 3、修饰符 3.1 修饰符的分类 3.2 权限修饰符 3.3 状态修饰符多态(⼗九)1.1 多态概述1.2 多态中成员访问特点1.3 多态的好处和弊端1.4 多态中的转型1.5 多态转型内存解析1.6 案例⼀:猫和狗抽象类与接⼝(⼆⼗)1、抽象类 1.1 抽象类概述 1.2 抽象类的特点 1.3 抽象类的成员特点 案例:猫和狗 2、接⼝ 2.1 接⼝概述 2.2 接⼝的特点 2.3 基于抽象类和接⼝,得出的多态的形式和前提总结 2.4 接⼝的成员特点 案例:猫和狗 2.5 类和接⼝的关系 2.6 抽象类和接⼝的区别 案例:运动员和教练 3、⾯向对象中的形参和返回值 1.1 类名作为形参和返回值 1.2 抽象类名作为形参和返回值 1.3 接⼝名作为形参和返回值内部类(⼆⼗⼀)1.1 内部类概述1.2 成员内部类1.3 局部内部类1.4 匿名内部类1.5 匿名内部类在开发中的使⽤常⽤API(⼆⼗⼆)1、Math 1.1 Math类概述 1.2 Math类的常⽤⽅法 2、System 2.1 System类概述 2.2 System类的使⽤⽅法 3、Object 3.1 Object类的概述 3.2 Object类的常⽤⽅法 3.3 toString() 3.4 equals() 4、Arrays 4.1 冒泡排序 4.2 Arrays类的概述和常⽤⽅法 5、基本类型包装类 5.1 基本类型包装类概述 5.2 Integer类的概述和使⽤ 5.3 int和String的相互转换 案例:字符串中数据排序 5.4 ⾃动装箱和拆箱 6、⽇期类 6.1 Date类概述和构造⽅法 6.2 Date类的常⽤⽅法 6.3 SimpleDateFormat类概述 6.4 SimpleDateFormat的构造⽅法 6.5SimpleDateFormat格式化和解析⽇期 案例:⽇期⼯具类 6.6 Calendar类概述 6.7 Calendar的常⽤⽅法 案例:⼆⽉天异常(含扩展)(⼆⼗三)1.1 异常概述与异常体系结构1.2 JVM遇到异常时的默认处理⽅案1.3 异常处理1.4 异常处理之try……catch……1.5 Throwable的成员⽅法1.6 编译时异常和运⾏时异常的区别1.7 异常处理之throws1.8 ⾃定义异常集合进阶之Collection(⼆⼗四)1.1 集合知识回顾1.2 集合类体系结构1.3 Collection集合概述和使⽤1.4 Collection集合的常⽤⽅法1.5 Collection结合的遍历1.6 集合使⽤步骤案例:Collection集合存储学⽣对象并遍历集合进阶之List(⼆⼗五)2.1 List集合概述和特点2.2 List集合特有⽅法案例:List集合存储学⽣对象并遍历2.3 并发修改异常2.4 ListIterator2.5 增强for循环案例:List集合存储学⽣对象⽤三种⽅式遍历2.6 数据结构2.7 List集合⼦类特点2.8 LinkedList集合的特有功能集合进阶之Set(⼆⼗六)3.1 Set集合的概述和特点3.2 哈希值3.3 HashSet集合概述和特点3.4 HashSet集合保证元素唯⼀源码分析3.5 常见的数据结构之5哈希表案例:HashSet集合存储学⽣对象并遍历3.6 LinkedHashSet集合概述和特点3.7 TreeSet集合概述和特点3.8 ⾃然排序Comparable的使⽤3.9 ⽐较器排序Comparator的使⽤案例:成绩排序案例:不重复的随机数集合进阶之泛型(⼆⼗七)4.1 泛型概述4.2 泛型类4.3 泛型⽅法4.4 泛型接⼝4.5 类型通配符4.6 可变参数4.7 可变参数的使⽤集合进阶之Map(⼆⼗⼋)5.1 Map集合概述和使⽤5.2 Map集合的基本功能5.3 Map集合的获取功能5.4 Map集合的遍历(⽅式1)5.5 Map集合的遍历(⽅式2)案例:HashMap集合存储学⽣对象并遍历案例:HashMap集合存储学⽣对象并遍历案例:ArrayList集合存储HashMap元素并遍历案例:HashMap集合存储ArrayList元素并遍历案例:统计字符串中每个字符出现的个数集合进阶之Collections(⼆⼗九)6.1 Collections概述和使⽤案例:ArrayList存储学⽣对象并排序案例:模拟⽃地主案例:模拟⽃地主升级版IO流之File(三⼗)1.1、File类概述1.2 File类的创建功能1.3 File类删除功能1.4 File类判断和获取功能1.5 递归案例:递归求阶乘案例:遍历⽬录IO流之字节流(三⼗⼀)2.1 IO流概述和分类2.2 字节流写数据2.3 字节流写数据的三种⽅式2.4 字节流写数据的两个⼩问题2.5 字节流写数据加异常处理2.6 字节流读数据案例:复制⽂本⽂件2.6 字节流读数据(⼀次读⼀个字节数组)案例:复制图⽚2.7 字节缓冲流案例:复制视频IO流之字符流(三⼗⼆)3.1 为什么会出现字符流3.2 编码表3.3 字符串中的编码解码问题3.4 字符流中的编码解码问题3.5 字符流写数据的5种⽅式3.6 字符流读数据的两种⽅式3.7 案例:复制Java⽂件案例:复制Java⽂件(改进版)3.7 字符缓冲流案例:复制Java⽂件(字符缓冲流改进版)3.8 字符缓冲流的特有功能案例:复制Java⽂件(字符缓冲流特有功能改进版)3.9 IO流⼩结案例:集合到⽂件案例:⽂件到集合案例:点名器案例:集合到⽂件(学⽣数据版)案例:⽂件到集合(学⽣数据版)案例:集合到⽂件(学⽣数据排序版)案例:复制多级⽂件夹3.10 复制⽂件的异常处理IO流之特殊操作流(三⼗三)4.1 标准输⼊输出流4.2 打印流案例:复制Java⽂件(打印流改进版)4.3 对象序列化流4.4 Properties案例:游戏次数多线程之实现多线程(三⼗四)1.1 进程1.2 线程1.3 多线程的实现⽅式11.4 设置和获取线程名称1.5 线程调度1.6 线程控制1.7 线程⽣命周期1.8 多线程的实现⽅式2多线程之线程同步(三⼗五)案例:卖票2.1 卖票案例的思考2.2 卖票案例数据安全问题的解决2.3 同步代码块2.4 同步⽅法2.5 线程安全的类2.6 Lock锁多线程之⽣产者消费者(三⼗六)3.1 ⽣产者和消费者3.2 ⽣产者消费者案例多线程之反射(三⼗七)1、类加载器1.1 类加载1.2 类加载器2、反射2.1 反射概述2.2 获取Class类的对象(字节码⽂件对象)2.3 反射获取构造⽅法并使⽤2.4 反射获取构造⽅法并使⽤练习12.5 反射获取成员变量并使⽤2.6 反射获取成员变量并使⽤练习2.7 反射获取成员⽅法并使⽤2.7 反射获取成员⽅法并使⽤练习2.9 反射练习多线程之模块化(三⼗⼋)1.1 模块化概述1.2 模块的基本使⽤1.3 模块服务的使⽤
发布评论