如果你已经能写类、能理解继承和多态,却还在为下面这些事发怵——程序一抛异常就整段崩掉、集合用起来心里没底、文件读写总要翻别人的代码、多线程一开就担心中间出岔子——那这一篇正好对着这些缺口。它是「师傅带徒弟学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 结课测试