# J260713班-课程资料 > Java授课资料(J260713 班 | 每日更新) --- ## 一、授课笔记 ### 00 - Java 预科 > Java 入门基础知识,涵盖数据类型、运算符、流程控制、进制转换等。 | 日期 | 笔记 | |------|------| | 2026-07-08 | [数据类型与运算符](./课堂笔记/00-Java预科-笔记/20260708-数据类型与运算符.md) | | 2026-07-09 | [流程控制与循环结构](./课堂笔记/00-Java预科-笔记/20260709-流程控制与循环结构.md) | | 2026-07-10 | [进制与进制转换](./课堂笔记/00-Java预科-笔记/20260710-进制与进制转换.md) | | 2026-07-10 | [ASCII 字母对照表](./课堂笔记/00-Java预科-笔记/20260710-ASCII字母对照表.md) | ### 01 - JavaSE 基础 > JavaSE 完整知识体系:Java 语法(变量/运算符/流程控制/数组/方法)→ 面向对象(封装/继承/抽象类/接口/多态/内部类)→ Java API(String/Math/日期时间/包装类)→ 异常处理 → 集合框架与泛型 → 比较器排序/Lambda/Stream 流 → IO 流(File/字节流/字符流/缓冲流)。 | 日期 | 笔记 | |------|------| | 2026-07-13 | [Java 入门与数据类型](./课堂笔记/01-JavaSE基础-笔记/20260713-笔记.md) | | 2026-07-14 | [流程控制与运算符](./课堂笔记/01-JavaSE基础-笔记/20260714-笔记.md) | | 2026-07-15 | [分支循环与数组](./课堂笔记/01-JavaSE基础-笔记/20260715-笔记.md) | | 2026-07-16 | [数组进阶与排序算法](./课堂笔记/01-JavaSE基础-笔记/20260716-笔记.md) | | 2026-07-17 | [方法、Random 与数组](./课堂笔记/01-JavaSE基础-笔记/20260717-笔记.md) | | 2026-07-20 | [面向对象基础](./课堂笔记/01-JavaSE基础-笔记/20260720-笔记.md) | | 2026-07-21 | [构造方法与单例模式](./课堂笔记/01-JavaSE基础-笔记/20260721-笔记.md) | | 2026-07-22 | [继承与方法重写](./课堂笔记/01-JavaSE基础-笔记/20260722-笔记.md) | | 2026-07-23 | [抽象类、final 与接口](./课堂笔记/01-JavaSE基础-笔记/20260723-笔记.md) | | 2026-07-24 | [多态与内部类](./课堂笔记/01-JavaSE基础-笔记/20260724-笔记.md) | | 2026-07-27 | [匿名内部类与常用 API](./课堂笔记/01-JavaSE基础-笔记/20260727-笔记.md) | | 2026-07-28 | [异常处理与 Object 类](./课堂笔记/01-JavaSE基础-笔记/20260728-笔记.md) | | 2026-07-29 | [包装类、集合框架与泛型](./课堂笔记/01-JavaSE基础-笔记/20260729-笔记.md) | | 2026-07-30 | [LinkedList 与手写链表](./课堂笔记/01-JavaSE基础-笔记/20260730-笔记.md) | | 2026-07-31 | [迭代器、Map 集合与二叉树](./课堂笔记/01-JavaSE基础-笔记/20260731-笔记.md) | | 2026-08-03 | [比较器排序与 Lambda](./课堂笔记/01-JavaSE基础-笔记/20260803-笔记.md) | | 2026-08-04 | [函数式编程与 Stream 流](./课堂笔记/01-JavaSE基础-笔记/20260804-笔记.md) | | 2026-08-06 | [File 文件操作与 IO 流入门](./课堂笔记/01-JavaSE基础-笔记/20260806-笔记.md) | | 2026-08-07 | [IO 缓冲流与字符流](./课堂笔记/01-JavaSE基础-笔记/20260807-笔记.md) | | 2026-08-08 | [转换流、序列化与多线程入门](./课堂笔记/01-JavaSE基础-笔记/20260808-笔记.md) | | 2026-08-10 | [线程操作与线程安全](./课堂笔记/01-JavaSE基础-笔记/20260810-笔记.md) | | 2026-08-11 | [volatile、Lock 锁与线程池](./课堂笔记/01-JavaSE基础-笔记/20260811-笔记.md) | | 2026-08-12 | [类加载机制与反射](./课堂笔记/01-JavaSE基础-笔记/20260812-笔记.md) | | 2026-08-13 | [反射 Field 与 Method 字段/方法反射](./课堂笔记/01-JavaSE基础-笔记/20260813-笔记.md) | ## 二、授课代码 | 日期 | 名称 | 项目名 | 包路径 | |------|------|--------|--------| | 2026-07-08 | 数据类型与运算符 | `java-prep-bootcamp` | [`com.lovecoding.day02`](./授课代码/java-prep-bootcamp/src/com/lovecoding/day02/) | | 2026-07-09 | 流程控制与循环结构 | `java-prep-bootcamp` | [`com.lovecoding.day03`](./授课代码/java-prep-bootcamp/src/com/lovecoding/day03/) | | 2026-07-10 | 进制与进制转换 | `java-prep-bootcamp` | [`com.lovecoding.day04`](./授课代码/java-prep-bootcamp/src/com/lovecoding/day04/) | | 2026-07-13 | JavaSE 基础入门 | `javaSE-260713-FirstJava` | [默认包](./授课代码/javaSE-260713-FirstJava/src/) | | 2026-07-14 | Java 运算符与流程控制 | `c260714` | [默认包](./授课代码/c260714/src/) | | 2026-07-15 | switch分支、循环结构与数组 | `c260715` | [默认包](./授课代码/c260715/src/) | | 2026-07-16 | 多维数组、Arrays 工具类、排序算法、Scanner 键盘输入 | `c260716` | [默认包](./授课代码/c260716/src/) | | 2026-07-17 | 方法 4 种声明方式、Random、学生信息采集系统 | `c260717` | [默认包](./授课代码/c260717/src/) | | 2026-07-20 | 面向对象基础:类与对象、封装、包、对象数组 | `c260720` | [`p1`](./授课代码/c260720/src/p1/) / [`p2`](./授课代码/c260720/src/p2/) | | 2026-07-21 | 构造方法:重载、this()、单例模式 | `c260721` | [`course`](./授课代码/c260721/src/course/) / [`homework/c260717`](./授课代码/c260721/src/homework/c260717/) / [`homework/c260720`](./授课代码/c260721/src/homework/c260720/) / [`exercise/exercise01`](./授课代码/c260721/src/exercise/exercise01/) / [`exercise/exercise02`](./授课代码/c260721/src/exercise/exercise02/) | | 2026-07-22 | 继承:方法重写、super、访问修饰符、综合练习 | `c260722` | [`course`](./授课代码/c260722/src/course/) / [`exercise/studentSystem`](./授课代码/c260722/src/exercise/studentSystem/) / [`homework/p08_guessgame`](./授课代码/c260722/src/homework/p08_guessgame/) / [`homework/p09_bookmanager`](./授课代码/c260722/src/homework/p09_bookmanager/) | | 2026-07-23 | 抽象类、final、模板方法、代码块、接口(JDK8/9 新特性) | `c260723` | [`course`](./授课代码/c260723/src/course/) | | 2026-07-24 | 多态、上下转型、instanceof、接口多态、内部类 | `c260724` | [`course/polymorphism`](./授课代码/c260724/src/course/polymorphism/) / [`course/internalClass`](./授课代码/c260724/src/course/internalClass/) | | 2026-07-27 | 匿名内部类、String 与可变字符串、Math、日期时间 | `c260727` | [`course/anonymousInternalClass`](./授课代码/c260727/src/course/anonymousInternalClass/) / [`course/api`](./授课代码/c260727/src/course/api/) / [`course/api/string`](./授课代码/c260727/src/course/api/string/) / [`course/api/math`](./授课代码/c260727/src/course/api/math/) / [`course/api/date`](./授课代码/c260727/src/course/api/date/) / [`exercise/exercise01`](./授课代码/c260727/src/exercise/exercise01/) / [`exercise/exercise06`](./授课代码/c260727/src/exercise/exercise06/) / [`exercise/exercise07`](./授课代码/c260727/src/exercise/exercise07/) / [`homework_0724/p2_myarray`](./授课代码/c260727/src/homework_0724/p2_myarray/) | | 2026-07-28 | 异常处理、Object 类(equals/hashCode/toString)、课后作业回顾 | `c260728` | [`course/api`](./授课代码/c260728/src/course/api/) / [`course/exception`](./授课代码/c260728/src/course/exception/) / [`homework260727`](./授课代码/c260728/src/homework260727/) / [`exercise/exercise01`](./授课代码/c260728/src/exercise/exercise01/) / [`exercise/exercise07`](./授课代码/c260728/src/exercise/exercise07/) | | 2026-07-29 | 包装类、集合框架(ArrayList 底层)、泛型 | `c260729` | [`course/packaging`](./授课代码/c260729/src/course/packaging/) / [`course/collection`](./授课代码/c260729/src/course/collection/) / [`exercises/exercise01`](./授课代码/c260729/src/exericse/exericse01/) / [`exercises/exercise02`](./授课代码/c260729/src/exericse/exericse02/) | | 2026-07-30 | List.of、LinkedList、手写链表、ArrayList 练习 | `c260730` | [`course`](./授课代码/c260730/src/course/) / [`exericse/exericse01`](./授课代码/c260730/src/exericse/exericse01/) / [`homework0729/p4`](./授课代码/c260730/src/homework0729/p4/) | | 2026-07-31 | LinkedList 多接口、Iterator、Map(HashMap 底层)、二叉树 | `c260731` | [`course`](./授课代码/c260731/src/course/) / [`exericse/exericse01`](./授课代码/c260731/src/exericse/exericse01/) / [`exericse/exericse02`](./授课代码/c260731/src/exericse/exericse02/) | | 2026-08-03 | 比较器排序(Comparable/Comparator)、Collections、可变参数、Lambda、课后作业解析 | `c260803` | [`course`](./授课代码/c260803/src/course/) / [`exericse/exericse02`](./授课代码/c260803/src/exericse/exericse02/) / [`homework0731/p2_map`](./授课代码/c260803/src/homework0731/p2_map/) / [`homework0731/p4_exception`](./授课代码/c260803/src/homework0731/p4_exception/) / [`homework0731/p5_sort`](./授课代码/c260803/src/homework0731/p5_sort/) | | 2026-08-04 | 函数式编程、Stream 流(中间/终结/收集、方法引用)、课后作业回顾 | `c260804` | [`course`](./授课代码/c260804/src/course/) / [`exericse/exericse03`](./授课代码/c260804/src/exericse/exericse03/) / [`homework0803/p4_lambda`](./授课代码/c260804/src/homework0803/p4_lambda/) / [`homework0803/p5_employee`](./授课代码/c260804/src/homework0803/p5_employee/) | | 2026-08-06 | File 文件操作、IO 流入门(字节流)、学生信息管理系统大作业 | `c260806` | [`course`](./授课代码/c260806/src/course/) / [`homework0804`](./授课代码/c260806/src/homework0804/) | | 2026-08-07 | 字节缓冲流、接口化文件复制、字符流、字符缓冲流、IO 流体系 | `c260807` | [`course`](./授课代码/c260807/src/course/) / [`exericse`](./授课代码/c260807/src/exericse/) | | 2026-08-08 | 转换流(字符集转码)、对象持久化(序列化/反序列化)、多线程入门(继承 Thread / 实现 Runnable / 实现 Callable+FutureTask) | `c260808` | [`course`](./授课代码/c260808/src/course/) / [`homework0807`](./授课代码/c260808/src/homework0807/) | | 2026-08-10 | 线程操作方法(Thread.sleep 休眠、线程调度方式、CPU 时间片随机性、线程优先级)、守护线程(setDaemon、JVM 退出机制)、线程生命周期(6 种状态)、线程操作方法(join/interrupt/yield/isAlive、Object 类 wait/notify)、线程安全问题(数据竞争、卖票问题、计数器问题、线程安全三大特性)、synchronized 线程同步(监视器锁、三种写法)、多线程三种实现方式综合练习、课后作业回顾(Callable+FutureTask 带返回值求和) | `c260810` | [`course`](./授课代码/c260810/src/course/) / [`exericse`](./授课代码/c260810/src/exericse/) / [`homework0808`](./授课代码/c260810/src/homework0808/) | | 2026-08-11 | volatile 关键字(解决可见性和有序性、不保证原子性)、JVM 内存模型(工作内存 CPU 缓存 vs 主内存)、可见性问题演示(程序永不退出 VolatileDemo)、计数器问题升级(volatile 不保证原子性、synchronized 保证原子性)、Lock 锁(ReentrantLock 可重入锁:lock/unlock/tryLock/tryLock(timeout)/lockInterruptibly 四种用法、unlock 必须放 finally、公平锁/非公平锁、synchronized vs Lock 七维对比(锁读读写分离/底层实现 AQS/JDK21 版本更新)、10000 线程 count 验证)、死锁(4 个必要条件、死锁复现、避免方法固定锁顺序/tryLock 超时/ConcurrentHashMap)、线程池(ThreadPoolExecutor:7 参数、执行流程、8 任务演示、getActiveCount/getQueue/shutdown)、课后作业回顾(homework0810 Demo_03 卖票问题 synchronized 修复) | `c260811` | [`course`](./授课代码/c260811/src/course/) / [`homework0810`](./授课代码/c260811/src/homework0810/) | | 2026-08-12 | 类的加载机制(java 文件编译→字节码 class 文件→类加载器→内存→JVM 解释→二进制机器码→执行、类加载器作用(也可能是 jar 包)、类加载 6 种时机、懒加载原则、加载过程 3 大步 5 小步:加载→链接(验证/准备/解析)→初始化、静态代码块/代码块/构造方法执行顺序演示 Demo01)、类加载器(三种类加载器:BootstrapClassLoader/PlatformClassLoader/SystemClassLoader、双亲委派层级、ClassLoader.getSystemClassLoader/getParent 获取父加载器演示 Demo02)、双亲委派模型(Demo03:委派机制、为什么需要双亲委派三个原因、getResourceAsStream 加载资源配置文件 + Properties 解析 prop.properties 数据库配置)、反射机制(Demo04:反射概念、普通调用 vs 反射调用 5 维对比、为什么需要反射、反射工作机制、反射核心类)、获取 Class 对象的三种方式(Demo05:类名.class/对象.getClass/Class.forName 演示 + Student/Person/Animal 辅助类)、反射 Constructor 构造方法(Demo06:getConstructors/getDeclaredConstructors 获取构造方法 + setAccessible(true) 暴力反射 + newInstance 创建对象 + Student 新增 3 个构造方法) | `c260812` | [`course`](./授课代码/c260812/src/course/) / [`src/prop.properties`](./授课代码/c260812/src/prop.properties) | | 2026-08-13 | 反射 Field 属性/字段/变量(Demo01:Class 类获取 Field 对象的 4 个 API——getFields/getField/getDeclaredFields/getDeclaredField(Declared 口诀:含 Declared 拿私有本类全部、不含 Declared 只拿 public 含父类继承)、Field 类的常用方法——get/set 读写属性值/setAccessible(true) 暴力反射/getType 类型/getName 属性名/getModifiers 修饰符 + Modifier.toString 解析、演示① getDeclaredFields 遍历输出全部 7 个字段的修饰符/类型/属性名、演示② getField+get/set 读取修改 public 属性、演示③ getDeclaredField+setAccessible(true) 暴力反射读取修改 private 属性、演示④ 操作静态属性 get/set 对象参数传 null、反射赋值与普通访问同一份数据、ORM 框架用 Field.set() 把数据库数据映射到 Java 类的底层原理)+ 反射 Method 方法(Demo02:Class 类获取 Method 对象的 4 个 API——getMethods/getMethod/getDeclaredMethods/getDeclaredMethod(重载方法必须传参数类型区分)、Method 类的常用方法——invoke 调用方法/setAccessible(true) 暴力反射/getReturnType 返回值类型/getParameterTypes 参数类型数组/getModifiers 修饰符、invoke 四种调用规律(实例方法传对象/静态方法传 null/void 返回 null/private 先暴力反射)、遍历方法输出方法名/参数/返回值、invoke 调用 getName/setName 实例方法、暴力反射调用 private read()、调用 private static write() 传 null、动态代理/测试框架/注解解释器的基础)+ 反射知识全景总览(Demo03:把整个反射体系整理成 4 类知识地图——Class 类反射(成员属性/方法/构造)、Field 属性反射、Method 方法反射、Constructor 构造反射,12 个获取 API 统一规律:getXxx(s)/getDeclaredXxx(s),口诀"含 Declared 的能拿私有")+ Student 实体类(private 四字段 + public 两字段 + public static 字段 + 4 个构造方法 + 7 组 getter/setter + 私有方法 read/write) | `c260813` | [`course`](./授课代码/c260813/src/course/) / [`exericse`](./授课代码/c260813/src/exericse/) | ## 三、课堂练习题 | 日期 | 练习题 | 涵盖知识点 | |------|--------|-----------| | 2026-07-15 | [数组进阶练习](./课堂练习题/20260715-数组进阶练习.md) | 数组创建、遍历、排序算法 | | 2026-07-17 | [Java 方法基础练习](./课堂练习题/20260717-Java方法基础练习.md) | 方法 4 种声明方式、方法调用 | | 2026-07-20 | [面向对象基础练习](./课堂练习题/20260720-面向对象基础练习.md) | 类与对象、封装、包、方法、数组、Random 综合 | 2026-07-21 | [构造方法练习](./课堂练习题/20260721-构造方法练习.md) | 构造方法重载、this()、private 构造方法、对象数组排序综合 | | 2026-07-22 | [继承练习](./课堂练习题/20260722-继承练习.md) | 继承、方法重写、super()、多态与对象数组综合 | | 2026-07-23 | [抽象类与接口练习](./课堂练习题/20260723-抽象类与接口练习.md) | 抽象类(Shape 面积计算)、模板方法、接口入门 | | 2026-07-24 | [多态练习](./课堂练习题/20260724-多态练习.md) | 多态、上下转型、instanceof、接口多态(Usb 设备管理器) | | 2026-07-27 | [内部类练习](./课堂练习题/20260727-内部类练习.md) | 成员/静态/局部内部类、匿名内部类三种使用方式、策略模式 | | 2026-07-28 | [异常处理练习](./课堂练习题/20260728-异常处理练习.md) | 异常体系、try-catch 多 catch、throws、自定义异常、业务应用(注册验证/ATM) | | 2026-07-29 | [集合框架练习](./课堂练习题/20260729-集合框架练习.md) | ArrayList 增删改查与底层、包装类应用、嵌套结构 | | 2026-07-30 | [LinkedList 双链表练习](./课堂练习题/20260730-LinkedList双链表练习.md) | LinkedList(List/Deque/Queue)、性能对比、手写链表 | | 2026-07-31 | [Iterator迭代器与Map集合练习](./课堂练习题/20260731-迭代器与Map集合练习.md) | Iterator 遍历、HashMap 操作与遍历、自定义 Key、词频统计 | | 2026-08-03 | [比较器排序与可变参数练习](./课堂练习题/20260803-比较器排序练习.md) | 比较器排序(Comparable/Comparator/TreeSet)、Collections.sort、可变参数 | | 2026-08-04 | [Stream 流与函数式编程练习](./课堂练习题/20260804-Stream流练习.md) | Stream 生成/中间/终结/收集操作、方法引用、实体类收集成 Map | | 2026-08-06 | [File 文件操作练习](./课堂练习题/20260806-File文件操作练习.md) | File 构造、创建/删除/判断/获取、listFiles 遍历 | | 2026-08-07 | [IO 字节缓冲流 + 字符流 + 字符缓冲流练习](./课堂练习题/20260807-IO缓冲流练习.md) | 字节缓冲流、接口化复制、字符流/字符缓冲流读写、数据持久化、读取排序写回 | | 2026-08-08 | [对象序列化与转换流练习](./课堂练习题/20260808-对象序列化与转换流练习.md) | 对象序列化/反序列化、Serializable、serialVersionUID、transient、转换流字符集转码 | | 2026-08-10 | [线程操作与生命周期练习](./课堂练习题/20260810-线程操作与生命周期练习.md) | 线程生命周期(getState 6 种状态)、线程优先级(setPriority)、守护线程(setDaemon/JVM 退出机制)、线程协作(join/interrupt/yield) | | 2026-08-11 | [volatile 与 Lock 锁练习](./课堂练习题/20260811-volatile与Lock锁练习.md) | volatile 可见性(程序永不退出)、volatile 不保证原子性 vs synchronized、Lock 锁基本用法(lock/unlock + finally)、Lock 进阶(tryLock / tryLock(timeout) / lockInterruptibly)、Lock 改造卖票问题(synchronized vs Lock 七维对比) | | 2026-08-12 | [反射练习](./课堂练习题/20260812-反射练习.md) | 反射遍历 SysUser 四个构造方法创建对象(public 无参/private 二参/public 六参/private 四参:Class.forName + getConstructor/getDeclaredConstructor + setAccessible(true) 暴力反射 + newInstance + instanceof 强转)、反射给私有属性赋值(getDeclaredField + setAccessible + field.set/get)、反射调用方法(getMethod + invoke 带参返回值)、综合实战配置文件驱动 + 反射(模拟 Spring IOC:Properties 加载类名/属性/方法名) | | 2026-08-13 | [反射 Field 字段反射与 Method 方法反射练习](./课堂练习题/20260813-反射Field字段练习.md) | 反射遍历打印任意类的所有字段(getDeclaredFields + getModifiers + Modifier.toString + getType + getName,对 Student.class/String.class 通用工具)、反射读取/修改 public 字段(getField + get/set + 封装 readField/setField 通用方法)、暴力反射读取/修改 private 字段(getDeclaredField + setAccessible(true) + get/set 通用工具 setFieldValue/getFieldValue)、操作静态字段(get/set 对象参数传 null)+ 模拟 ORM 数据库行 → Java 对象映射(mapToObject 通用方法:反射创建空对象 + getDeclaredFields 遍历 + 字段名匹配 row + field.set 逐字段映射,ORM 底层原理)、反射遍历打印任意类的所有方法(getMethods/getDeclaredMethods + getParameterTypes + getReturnType + Stream 映射简单名)、反射调用实例方法(getMethod + invoke 无参/带参/重载必须传参数类型 + void 返回 null + 封装 invokeMethod 通用工具)、暴力反射调用私有方法与静态方法(getDeclaredMethod + setAccessible(true) + invoke 实例传对象/静态传 null + 封装 invokeAnyMethod 通用工具)、模拟测试框架 JUnit 简化版(getDeclaredMethods 扫描 test 开头方法 + setAccessible(true) + invoke + InvocationTargetException.getCause() 处理 + 反射三件套综合实战) |