市面上叫「Java 进阶」的课很多,但大部分进阶课其实是把 API 列表念一遍。这套《师傅带徒弟学Java》第三篇属于少数把「进阶」落到具体工作场景里的——它假设你已经会写类、会用基本的循环和判断,接下来要解决的问题是:程序跑起来之后出错了怎么办、一堆数据怎么装、多个任务怎么同时干、数据怎么存到硬盘上或者发到网络另一端。这几件事,恰好是初学者从「能写个小练习」跨到「能独立做一个可交付的小工具」之间的那道坎。

它解决的是哪几个具体问题

第一类是程序失控的问题。异常处理这部分讲的不是语法填空,而是让你在方法调用链里判断哪些错误该当场处理、哪些该往上抛,最终写出来的代码不会因为一个空指针就整体崩掉。第二类是数据组织的问题。集合和泛型放在一起讲,核心是让你在拿到一批对象时能选对容器——什么时候用 List、什么时候用 Map、泛型怎么写才能让编译器帮你挡住类型错误。第三类是多任务和持久化,多线程、I/O 流、网络编程三块连在一起,落到实际就是:边下载边更新界面、把运行结果写到文件、让两个程序通过网络互传消息。最后一块是界面和框架基础,Swing 让你能把前面写的东西包成一个能点、能看的窗口程序,反射和注解则是后面学 Spring 那类框架绕不开的前置知识。

学完能独立做出什么

按这个顺序走完,比较现实的产出是:一个带图形界面的小型桌面工具,比如文件批量重命名器、简易聊天客户端,或者一个能连数据库做增删改查的本地管理程序。这些不是玩具,它们覆盖了输入输出、线程调度、界面事件、数据存取这几条完整的链路。招聘方看初级简历时想确认的「有没有独立做过完整东西」,这类项目是能拿得出手的。反过来说,如果你期待学完就能直接投中高级岗,那这门课不够——它给的是地基,不是项目经验本身。

资料适合什么基础的人

需要先明确一点:这是第三篇,前面已经讲过 Java 基础语法和面向对象。如果你连类和对象的关系还没理顺,直接从这一篇开始会很吃力,异常和泛型的部分会看不懂。适合的起点是:能独立写出一个包含多个类、有继承关系的控制台程序,知道什么是接口和实现。满足这个条件,再进来学集合和多线程,节奏是顺的。

这套资料的形态比较全,除了视频讲解,还配了电子书、课件和习题。对上班族来说,比较实用的用法是:先用视频过一遍某个专题的思路,遇到卡壳的语法点再翻电子书对应章节,最后用习题检验自己是不是真会了。习题库这部分别跳过,进阶内容光看懂没用,多线程和 I/O 的坑基本都是敲代码时才踩出来的。

什么样的人可以跳过

如果你已经能熟练使用集合框架、写过多线程任务、做过文件读写和 Socket 通信,那这一篇对你偏基础,可以直接看更偏框架和工程化的内容。另外,如果你学 Java 的目标是立刻做安卓或后端 Web 开发,这门课只能算准备阶段,它不涉及 Spring、不涉及 Android,别指望学完就能上手业务项目。

简单说,这是一门把 Java 从「会语法」推到「能独立写出有实用价值的小程序」的课。基础够、愿意动手敲,它就值;想跳过基础直接做项目,它帮不上忙。

课程目录

课程目录102 集
  • 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 结课测试