这套课是「Java 零基础到就业」系列的第二阶段,主题是 Java 基础进阶。如果你的情况是:已经能照着教程写出 Hello World、知道变量和 if-else 怎么写,但一碰到「接口到底用来干嘛」「多线程为什么一跑就乱」「集合该选 ArrayList 还是 HashMap」就卡住,那这个阶段的定位正好对上你。它不教你装 JDK,也不重复讲 for 循环,而是补上从「会写语法」到「能读懂别人代码、能自己组织代码」之间那段最容易断掉的路。

它解决的是哪些实际卡点

第一阶段能让你写出能跑的小程序,但真实工作里的代码不长那样。你打开同事的一个类,看到 implements 后面挂着一串接口,方法参数里全是泛型,某处又冒出个 Lambda 表达式——这些不是炫技,是日常。进阶阶段要处理的,就是这些「看得见但看不懂、抄得下来但讲不清」的东西。

具体来说,课程覆盖的方向包括:封装、继承、多态这三大特性在真实代码里怎么用,而不是停留在概念背诵;抽象类和接口的区别与选择场景;枚举在状态、类型定义中的写法;Lambda 和函数式接口的配合;集合体系的分类与取舍;多线程的基本用法与常见问题;反射的用途和边界。这些内容串起来,指向一个能力:拿到一段中等复杂度的业务代码,你能顺着调用链读懂它,而不是靠猜。

学完能独立做什么

一个比较务实的判断标准:学完之后,你应该能独立完成一个控制台版的小型管理程序,比如学生信息或订单记录的管理,自己设计类结构、用集合存数据、用接口把不同实现拆开、用异常处理输入错误,而不是把所有逻辑堆在一个 main 方法里。

再进一步,看到网上或开源项目里的工具类代码,你能判断它大概在做什么、为什么这样写。多线程和反射部分不会让你立刻成为并发高手,但足以让你在遇到线程相关报错时不至于完全无措,也能理解框架里那些「莫名其妙」的注解和动态调用是怎么回事。这两块本身就是进阶内容,课程把它们放在基础阶段,是让你先建立正确认知,避免后面学框架时积攒误解。

资料适合什么基础的人

适合的人群比较明确:计算机专业在读或应届、想补齐课堂没讲透的部分;非 IT 背景转行、已经自学过一轮基础语法但知识零散;测试、前端、运维想往后台方向走,需要一个系统的 Java 知识框架。

不太适合两类人:一是完全没碰过 Java、连环境都没配过的,建议先走第一阶段,否则进阶内容会变成硬背;二是已经有几年 Java 开发经验、想补的是分布式或源码级的,这个阶段的深度不够,会显得浅。

怎么用这套资料

建议按「先理解、再手写、后归纳」的节奏走。每学一个概念,先合上资料自己写一遍最小示例,比如学完接口就自己定义一个接口加两个实现类,而不是直接抄课程里的例子。集合和多线程这两块尤其要动手,因为它们的坑大多在运行结果里才暴露出来。

另外,不要追求一次全记住。枚举、反射这类内容,第一遍知道「有这么个东西、大概解决什么问题」就够了,真正熟练是靠后面做项目时反复用到。把进阶阶段当成建立知识地图的过程,比当成背诵清单更划算。

最后提醒一句:这门课的价值在于帮你把零散语法连成体系,它不会替你写代码。学得扎不扎实,看的是你有没有在课程之外自己动手折腾过。

课程目录

课程目录195 集
  • 01 static,单例模式,修饰符 01 类变量与实例变量的区别与内存分析.mp4
  • 02 静态成员变量的应用场景.mp4
  • 03 静态方法与非静态方法的区别与静态方法的应用场景.mp4
  • 04 static要注意的事项.mp4
  • 05 构造代码块.mp4
  • 06 静态代码块与局部代码块.mp4
  • 07 饿汉单例设计模式.mp4
  • 08 懒汉单例设计模式.mp4
  • 09 继承的入门.mp4
  • 10 权限修饰符.mp4
  • 11 java的单继承.mp4
  • 02 多态,final,抽象类,接口 01 复习回顾.mp4
  • 02 方法的重写.mp4
  • 03 子类访问父类成员特点.mp4
  • 04 子类访问构造方法的特点.mp4
  • 05 多态概念.mp4
  • 06 多态的好处.mp4
  • 07 多态的类型转换.mp4
  • 08 final关键字.mp4
  • 09 抽象类基本使用.mp4
  • 10 抽象类的应用场景.mp4
  • 11 模板设计模式.mp4
  • 12 接口的基本使用.mp4
  • 13 接口的应用场景.mp4
  • 14 接口的新特性.mp4
  • 15 接口的其他细节.mp4
  • 03 内部类,枚举,泛型,自动封箱 01 复习回顾.mp4
  • 02 内部类的介绍.mp4
  • 03 成员内部类.mp4
  • 04 静态内部类.mp4
  • 05 局部内部类.mp4
  • 06 匿名内部类的基本使用.mp4
  • 07 匿名内部类的应用场景.mp4
  • 08 枚举类的基本使用.mp4
  • 09 枚举值的应用场景.mp4
  • 10 泛型类.mp4
  • 11 泛型接口.mp4
  • 12 泛型方法.mp4
  • 13 泛型上下限.mp4
  • 14 泛型的擦除.mp4
  • 15 toString方法的作用.mp4
  • 16 equals方法.mp4
  • 17 自动装箱与自动拆箱.mp4
  • 18 数字与字符串之间转换.mp4
  • 04 常用API,日期类,lambda 01 复习回顾.mp4
  • 02 math数学工具类.mp4
  • 03 system类.mp4
  • 04 Bigdecimal运算.mp4
  • 05 simpleDateformat日期格式化对象.mp4
  • 06 Calendar日期类.mp4
  • 07 LocalDateTime日期类.mp4
  • 08 DateTimeFormat的日期格式化对象.mp4
  • 09 Arrays的基本使用.mp4
  • 10 Arrays对对象类型数组排序.mp4
  • 11 Arrays使用比较器Comparator接口去排序.mp4
  • 12 lambda表达式基本使用.mp4
  • 13 lambda表达式省略规则.mp4
  • 05 算法,正则表达式,异常处理 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 冒泡排序算法.mp4
  • 04 选择排序算法.mp4
  • 05 二分法.mp4
  • 06 正则表达式体验.mp4
  • 07 正则常用规则.mp4
  • 08 电话号码的正则表达式.mp4
  • 09 邮箱的正则表达式.mp4
  • 10 网络爬虫.mp4
  • 11 正则表达式替换与切割.mp4
  • 12 异常的由来.mp4
  • 13 异常的体系介绍.mp4
  • 14 捕获处理.mp4
  • 15 抛出处理.mp4
  • 16 自定义异常.mp4
  • 06 集合,Collection,List,Set 01 今日内容介绍.mp4
  • 02 单例集合的体系介绍.mp4
  • 03 Collection接口中的常用方法.mp4
  • 04 迭代器使用步骤与原理.mp4
  • 05 增强for循环.mp4
  • 06 foreach遍历方式.mp4
  • 07 list常用的方法.mp4
  • 08 List集合特有的遍历方式.mp4
  • 09 ArrayList的底层实现原理.mp4
  • 10 LinkedList的底层原理.mp4
  • 11 使用LinkedList模拟队列与栈数据结.mp4
  • 12 Set接口的特点.mp4
  • 13 HashSet底层实现原理.mp4
  • 14 TreeSet.mp4
  • 15 并发修改异常.mp4
  • 07 集合进阶,Set,Map 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 可变参数.mp4
  • 04 Collections排序.mp4
  • 05 Map集合的特点.mp4
  • 06 Map接口常用的方法.mp4
  • 07 map集合的第一种遍历方式.mp4
  • 08 map集合的第二种遍历方式.mp4
  • 09 map集合的第三种遍历方式.mp4
  • 10 map的综合练习.mp4
  • 11 HashMap.mp4
  • 12 Treemap.mp4
  • 13 体验stream流.mp4
  • 14 得到Stream的方法.mp4
  • 15 终结的方法.mp4
  • 08 Map集合,Stream流,File类 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 File对象的构造器.mp4
  • 04 文件目录分隔符与绝对路径、相对路径.mp4
  • 05 File类判断与获取的方法.mp4
  • 06 File创建与删除的方法.mp4
  • 07 文件遍历的方法.mp4
  • 08 递归概念与递归实现5的阶乘.mp4
  • 09 列出一个目录下面的所有子孙文件.mp4
  • 10 动态搜索一个文件去执行.mp4
  • 11 删除一个非空目录.mp4
  • 12 码表的概念.mp4
  • 13 编码与解码.mp4
  • 09 字符集,IO流 01 复习回顾.mp4
  • 02 IO流分类.mp4
  • 03 字节流读取一个字节的数据.mp4
  • 04 关闭资源的意义.mp4
  • 05 输入字节流读取文件数据.mp4
  • 06 输出字节流写出文件的数据.mp4
  • 07 文件拷贝.mp4
  • 08 处理异常的代码.mp4
  • 09 fileReader读取文本资源.mp4
  • 10 FileWriter写出字符串的数据.mp4
  • 11 Filewriter要注意的事项.mp4
  • 10 IO缓存流,序列化 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 缓冲输入字节流.mp4
  • 04 缓冲输出字节流.mp4
  • 05 缓冲输入字符流.mp4
  • 06 缓冲输出字符流.mp4
  • 07 输出字节流的转换流.mp4
  • 08 输入字节流的转换流.mp4
  • 09 打印流.mp4
  • 10 输出序列化流.mp4
  • 11 输入序列化流.mp4
  • 12 IO框架.mp4
  • 13 员工管理系统的要求.mp4
  • 11 properties文件,XML文件,dom4j解析,多线程 01 员工管理系统改造.mp4
  • 02 读取properties文件.mp4
  • 03 生成properties文件.mp4
  • 04 xml文件的作用.mp4
  • 05 XML文件的组成.mp4
  • 06 dom4j解析原理.mp4
  • 07 xml文件解析.mp4
  • 08 生成xml文件.mp4
  • 09 dtd的约束.mp4
  • 10 schema约束.mp4
  • 11 线程的创建方式一.mp4
  • 12 线程的创建方式二.mp4
  • 13 多线程创建方式三.mp4
  • 12 多线程与并发编程 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 线程常用的方法.mp4
  • 04 线程安全问题演示.mp4
  • 05 同步代码块.mp4
  • 06 同步函数.mp4
  • 07 lock锁.mp4
  • 08 线程池创建.mp4
  • 09 线程池提交有返回值的任务.mp4
  • 10 Executors工具类.mp4
  • 11 并发与并行.mp4
  • 12 线程的什么周期状态.mp4
  • 13 懒汉单例设计模式.mp4
  • 13 网络编程 01 复习回顾.mp4
  • 02 今日内容介绍.mp4
  • 03 网络编程概述与网络通讯三要素.mp4
  • 04 ip地址对象.mp4
  • 05 TCP协议与UDP协议的特点.mp4
  • 06 UDP协议的入门案例.mp4
  • 07 UDP协议的多发多收.mp4
  • 08 TCP协议的入门案例.mp4
  • 09 TCP协议多发多收.mp4
  • 10 单线程版本的tomcat服务器.mp4
  • 11 多线程版本的tomcat服务器.mp4
  • 12 线程池版本的tomcat服务器.mp4
  • 14 Junit单元测试,反射机制,注解,代理模式 01 今日内容介绍.mp4
  • 02 junit单元测试.mp4
  • 03 反射的概念.mp4
  • 04 获取Class对象的方式.mp4
  • 05 反射操作构造器.mp4
  • 06 反射操作成员变量.mp4
  • 07 反射操作成员方法.mp4
  • 08 反射的应用场景.mp4
  • 09 注解的概述.mp4
  • 10 注解的定义与注解的使用.mp4
  • 11 元注解.mp4
  • 12 注解的解析.mp4
  • 13 自定义junit框架.mp4
  • 14 动态的角色与需求说明.mp4
  • 15 proxy生成代理对象.mp4
  • 16 代理模式生成set代理对象.mp4
  • 17 代理模式增强UserService的方法.mp4