如果你已经能写类、能理解继承和多态,却还在为下面这些事发怵——程序一抛异常就整段崩掉、集合用起来心里没底、文件读写总要翻别人的代码、多线程一开就担心中间出岔子——那这一篇正好对着这些缺口。它是「师傅带徒弟学Java」系列的第三篇,承接前两篇的语言基础,把重心从「语法能不能跑」挪到「代码能不能扛住真实场景」。所以这里不重复变量、循环、类与对象那些内容,默认你已经写过一些能编译通过的小程序。
它真正在补的是哪几块能力
第一块是异常处理。很多人写代码习惯用返回值报错,一旦遇到受检异常就手忙脚乱。这部分要解决的是:什么时候抛出、什么时候捕获、finally 里该放什么、自定义异常怎么设计才不沦为摆设。判断你是否学明白的标准很朴素——你能说清一段代码在异常路径上到底走了哪一步。
第二块是集合与泛型。数组之外,List、Set、Map 各自适合什么场景,迭代时为什么不能随手删元素,泛型擦除会带来哪些坑,比较器怎么影响排序结果。这些问题在写业务代码时几乎天天遇到,靠背 API 是撑不住的。
第三块是文件与 I/O 流。字节流和字符流的区别不是概念题,编码不对就会出现乱码,缓冲流用与不用性能差距明显,对象序列化有它的适用边界。这部分练完,你至少能独立写出一个读写配置或日志文件的小工具,而不是复制别人一段代码再改到能跑。
多线程、网络与界面:从单机脚本到可用程序
多线程部分要回答的是:线程怎么创建、共享数据为什么会出错、synchronized 和锁到底锁住了什么、线程池为什么比手动 new Thread 更值得用。这里不追求把并发包讲穿,但要求你能写出一个不会因为竞争条件而算错结果的例子。
网络编程把视角从本机拉到两台机器之间,Socket 通信、客户端与服务端的职责划分、数据怎么收发和关闭,这些是理解后续 Web 开发的底子。Swing 图形界面部分容易被跳过,但它其实是检验前面内容的综合练习:事件处理、界面与数据分离、长时间任务不能卡住界面——写一个小工具就能把异常、集合、线程全用上。
再往后是反射、注解和数据库编程。反射让你理解框架为什么能「凭配置创建对象」,注解让你看懂那些写在代码上的标记是怎么被读取的,数据库编程则把数据从内存搬到持久存储。这三样是通往框架学习的第一道门槛。
配套练习怎么用
- 每学完一个主题,合上视频自己重写一遍最小可运行示例,尤其是异常和 I/O,看一遍和写一遍差别很大。
- 把习题里的题当作验收,不要只看答案,做错的题回头定位是概念不清还是 API 不熟。
- 挑一个贯穿练习:比如做一个能读配置文件、用集合管理数据、后台线程处理任务、结果写入文件并落库的小程序。它能把零散知识点串成一条线。
- 课件和电子资料适合当查阅手册,遇到记不清的细节回去翻,而不是从头再刷一遍。
看完你应该能回答
- 一个方法抛异常和返回错误码,分别在什么情况下更合适?
- ArrayList、LinkedList、HashMap 在什么场景下你会选哪个,理由是什么?
- 为什么读文件要用缓冲,字符编码错了会在哪一步暴露?
- 两个线程同时修改一个变量,你打算怎么保证结果正确?
- 反射和注解是如何配合,让程序在运行期获得额外能力的?
- 你的程序怎样把数据从内存写进数据库,中间可能出哪些错、怎么处理?
如果这些问题你能答上来大半,说明这一篇的内容已经落到你身上;答不上来的,就按对应的章节补,缺什么补什么,不必假装都会。
师傅带徒弟学Java第3篇 【Java】进阶视频课程
课程详情
课程详情
课程名称:师傅带徒弟学Java第3篇 【Java】进阶视频课程
课程简介:本视频课程是智捷课堂推出的“Java语言学习立体教程”的第三部分,专为Java开发初学者设计。
适合人群
- 零基础小白
- Java开发爱好者
学习收获
- 掌握Java SE开发技能
- 成为Java领域的专家
课程亮点
- 包含异常处理、集合、泛型等高级Java编程知识
- 涵盖文件管理与I/O流、多线程编程、网络编程等实用技能
- 学习Swing图形用户界面编程、反射、注解和数据库编程
- 立体教程模式,包括纸质图书、电子图书、视频讲解、课件PPT、习题库及QQ答疑服务
课程目录
01 异常处理 01 课程介绍.mp4 02 0.1 视频课程介绍.mp4 03 0.2 配套资源与帮助.mp4 04 19.0 异常处理.mp4 05 19.1 从一个问题开始.mp4 06 19.2 异常类继承层次.mp4 07 19.3.1-2 try-catch语句和多catch代码块.mp4 08 19.3.3 try-catch语句嵌套.mp4 09 19.3.4 多重捕获.mp4 10 19.4.1 finally代码块.mp4 11 19.4.2 自动资源管理.mp4 12 19.5 throws与声明方法抛出异常.mp4 13 19.6 自定义异常类.mp4 14 19.7 throw与显式抛出异常.mp4 02 对象容器——集合 01 20.1 集合概述.mp4 02 20.2.1 List集合常用方法.mp4 03 20.2.2 List集合遍历.mp4 04 20.3 Set集合.mp4 05 20.4 Map集合.mp4 03 泛型 01 21.1 泛型概念之一个问题的思考.mp4 02 21.2 使用泛型.mp4 03 21.3 自定义泛型类.mp4 04 21.4 自定义泛型接口.mp4 05 21.5 泛型方法.mp4 04 文件管理与I/O流 01 22.1.1 文件管理File类.mp4 02 22.1.2 文件管理案例:文件过滤.mp4 03 22.2 IO流概述.mp4 04 22.3.1 InputStream抽象类.mp4 05 22.3.2 OutputStream抽象类.mp4 06 22.3.3 案例:文件复制.mp4 07 22.3.4 使用字节缓冲流.mp4 08 22.4.1-2 Reader和Writer抽象类.mp4 09 22.4.3 案例:文件复制.mp4 10 22.4.4 使用字符缓冲流.mp4 11 22.4.5 字节流转换字符流.mp4 05 多线程编程 01 23.1 多线程基础知识.mp4 02 23.2.1 实现Runnable接口创建子线程.mp4 03 23.2.2 继承Thread线程类创建子线程.mp4 04 23.2.3 使用匿名内部类和Lambda表达式实现线程体.mp4 05 23.3 线程的状态.mp4 06 23.4 线程管理.mp4 07 23.5.1 线程安全之临界资源问题.mp4 08 23.5.2 线程安全多线程同步.mp4 09 23.6 线程间通信.mp4 10 24.1 网络基础.mp4 06 网络编程 01 24.2.1-24.2.4 TCP Socket通信.mp4 02 24.2.5 案例:TCP实现文件上传工具.mp4 03 24.2.6 案例:TCP实现聊天工具.mp4 04 24.3.1-2 DatagramSocket和Datagr.mp4 05 24.3.3 案例:UDP实现文件上传工具.mp4 06 24.3.4 案例:UDP实现聊天工具.mp4 07 24.4.1 数据交换格式之JSON文档结构.mp4 08 24.4.2 使用第三方JSON库.mp4 09 24.4.3 JSON数据编码和解码.mp4 10 24.4.4 案例:采用JSON聊天工具.mp4 11 24.5.1-2 URL概念HTTP协议HTTPS协议.mp4 12 24.5.3 使用URL类.mp4 13 24.5.4-5 使用HttpURLConnection发送.mp4 14 24.5.6 实例:Downloader.mp4 07 Swing图形用户界面编程 01 25.1 Java图形用户界面技术.mp4 02 25.2.1 Swing类层次结构.mp4 03 25.2.2 Swing程序结构.mp4 04 25.3.0 事件处理模型.mp4 05 25.3.1 采用内部类处理事件.mp4 06 25.3.2 采用Lambda表达式处理事件.mp4 07 25.3.3 使用适配器.mp4 08 25.4.1 FlowLayout布局.mp4 09 25.4.2 BorderLayout布局.mp4 10 25.4.3 GridLayout布局.mp4 11 25.4.4 不使用布局管理器.mp4 12 25.4.5 使用可视化设计工具.mp4 13 25.5.1 标签和按钮.mp4 14 25.5.2 文本输入组件.mp4 15 25.5.3 复选框和单选按钮.mp4 16 25.5.4 下拉列表.mp4 17 25.5.5 列表.mp4 18 25.5.6 分隔面板.mp4 19 25.5.7 使用表格.mp4 20 25.6 案例:图书库存.mp4 08 反射 01 26.0 反射.mp4 02 26.1 Java反射机制API.mp4 03 26.2.1 调用构造方法.mp4 04 26.2.2 案例:依赖注入实现.mp4 05 26.3 调用方法.mp4 06 26.4 调用成员变量.mp4 09 注解(Annotation) 01 27.0 注解(Annotation).mp4 02 27.1 基本注解.mp4 03 27.2 元注解.mp4 04 27.3.1 声明注解.mp4 05 27.3.2 案例:使用元注解.mp4 06 27.3.3 案例:读取运行时注解信息.mp4 10 数据库编程 01 28.1 数据持久技术概述.mp4 02 28.2.1 MySQL数据库安装与配置.mp4 03 28.2.2 连接MySQL服务器.mp4 04 28.2.3 MySQL常见的管理命令.mp4 05 28.3 JDBC技术.mp4 06 28.3.1-2 JDBC API和加载驱动程序.mp4 07 28.3.3 建立数据连接.mp4 08 28.3.4 三个重要接口.mp4 09 28.4.1 【案例:数据CRUD操作】数据库编程一般过程.mp4 10 28.4.2 【案例:数据CRUD操作】数据查询操作.mp4 11 28.4.3 【案例:数据CRUD操作】数据修改操作.mp4 11 结课测试 01 结课测试





