先判断:Java 基础这门课值不值得现在学

很多转行做后端或想进传统软件公司的上班族,打开招聘软件一看,后端岗位十有八九写着熟悉 Java,于是想找一套体系课从头补。这套定位在第一阶段的 Java 基础课,解决的就是这个最具体的场景:你在没有任何编程背景的情况下,需要先弄懂一门强类型、面向对象语言的基本规则,而不是上来就被框架和中间件淹没。它适合完全零基础、或者只写过一点脚本但没系统学过编译型语言的人。如果你已经能独立用 Java 写出几百行带类继承的小程序,这套资料对你偏慢,可以直接跳到后续阶段。判断要不要花时间学,标准很简单:你日常工作里是否需要看懂后端同事写的业务代码,或者目标岗位是否明确要求 Java 基础。如果是,这套课就是必须啃下来的地基;如果只是想快速做个数据脚本,选 Python 会更轻。

学完能独立做什么,以及资料怎么配合练习

这套资料按惯例把概念讲解和代码演示放在一起,建议不要把它当视频连续剧看。第一遍可以按它给出的顺序,先过软件开发学科分类和 Java 语言定位这两块,用半天时间建立对这门语言应用边界的认知,避免学到一半还不知道它具体用在哪些工作场景。接着进入真正的编码部分,重点是变量、控制流程、方法和面向对象基础。看资料时,务必同步打开编辑器,跟着把每个小例子敲一遍并运行出结果,而不是只看演示。遇到面向对象那几节,先理解类和实例的关系,再动手写一个简单的实体类,比如把日常工作里的请假单抽象成代码对象。学完这一阶段,你应该能独立写出运行在命令行的控制台小程序,比如一个带增删改查逻辑的员工信息管理小工具,并且能看懂别人写的基础业务类结构。资料里的代码片段是用来对照的,不是用来照抄的,自己改几个参数看报错信息,比反复看视频更能把语法记牢。

编辑的筛选建议

作为帮读者筛课的编辑,我对这套基础资料的评价是务实但需要耐心。它的内容编排偏传统,会从编程语言发展史讲起,对急性子可能觉得啰嗦,但对零基础转行者来说,这种铺垫能帮你理解为什么 Java 的语法规则这么严格。不要指望学完这一阶段就能直接接手项目,它的价值在于让你拿到后续 Web 开发或框架资料时,不会卡在最基础的语法报错上。如果你每天能抽出两小时,按上面的练习方法配合资料,大概三周可以过完这一阶段。学完之后,建议自己动手写一个稍微复杂点的控制台小系统,比如图书借阅记录工具,把数组、循环、类和方法串起来用一遍。能独立把这个小系统跑通,就算真正吃透了这门基础课,可以安心进入下一阶段。

课程目录

课程目录400 集
  • 1-1 [Java开发工程师课程体系] 软件开发学科分类 (21:18).mp4
  • 1-2 [Java开发工程师课程体系] Java语言的优势 (13:08).mp4
  • 1-3 [Java开发工程师课程体系] Java能做些什么 (24:46).mp4
  • 1-4 [Java开发工程师课程体系] Java课程体系 (11:00).mp4
  • 2-1 [初识JAVA] 何为编程 (08:02).mp4
  • 2-2 [初识JAVA] 什么是计算机编程语言 (04:21).mp4
  • 2-3 [初识JAVA] 人机交互 (04:56).mp4
  • 2-4 [初识JAVA] 编程语言发展史 (09:28).mp4
  • 2-5 [初识JAVA] 常见的编程语言 (08:04).mp4
  • 2-6 [初识JAVA] 为什么选择Java语言 (10:12).mp4
  • 2-7 [初识JAVA] Java能做什么 (19:51).mp4
  • 2-8 [初识JAVA] Sun公司的前世今生 (08:12).mp4
  • 2-9 [初识JAVA] Java语言之父 (04:16).mp4
  • 2-10 [初识JAVA] Java语言的版本 (04:56).mp4
  • 2-11 [初识JAVA] Java语言的技术平台结构 (08:45).mp4
  • 2-12 [初识JAVA] JRE和JDK的区别 (04:31).mp4
  • 2-13 [初识JAVA] 安装JDK (05:14).mp4
  • 2-14 [初识JAVA] 测试JDK (02:30).mp4
  • 2-15 [初识JAVA] 使用记事本开发第一个JAVA程序 (14:53).mp4
  • 2-16 [初识JAVA] 第一个程序存在的问题 (06:18).mp4
  • 2-17 [初识JAVA] HelloWord注意细节 (04:00).mp4
  • 2-18 [初识JAVA] Java程序的运行机制 (09:43).mp4
  • 2-19 [初识JAVA] 配置环境变量PATH (08:25).mp4
  • 2-20 [初识JAVA] 配置JAVA_HOME (06:06).mp4
  • 2-21 [初识JAVA] 安装Eclipse (07:44).mp4
  • 2-22 [初识JAVA] 使用Eclipse开发java程序 (07:48).mp4
  • 2-23 [初识JAVA] 调整Eclipse字体大小 (09:15).mp4
  • 2-24 [初识JAVA] 输出语句 (02:39).mp4
  • 2-25 [初识JAVA] 重置Eclipse环境 (03:00).mp4
  • 3-1 [Java基础语法] 上章回顾 (21:35).mp4
  • 3-2 [Java基础语法] JAVA跨平台原理 (10:23).mp4
  • 3-3 [Java基础语法] JAVA中的关键字 (07:55).mp4
  • 3-4 [Java基础语法] 标识符命名规范 (10:45).mp4
  • 3-5 [Java基础语法] 注释 (13:23).mp4
  • 3-6 [Java基础语法] 字面值 (07:22).mp4
  • 3-7 [Java基础语法] 变量定义 (07:16).mp4
  • 3-8 [Java基础语法] 8种基本数据类型概述 (07:18).mp4
  • 3-9 [Java基础语法] 整数类型 (17:15).mp4
  • 3-10 [Java基础语法] 浮点数类型 (06:58).mp4
  • 3-11 [Java基础语法] 复习上节 (11:30).mp4
  • 3-12 [Java基础语法] char类型 (13:58).mp4
  • 3-13 [Java基础语法] 几个特殊字符 (11:14).mp4
  • 3-14 [Java基础语法] boolean类型 (03:13).mp4
  • 3-15 [Java基础语法] 字符串数据类型 (04:41).mp4
  • 3-16 [Java基础语法] Scanner类的使用 (13:24).mp4
  • 3-17 [Java基础语法] Scanner使用 (06:26).mp4
  • 3-18 [Java基础语法] 案例练习1-输入输出练习 (05:32).mp4
  • 3-19 [Java基础语法] 案例练习2-基本数据类型练习 (11:26).mp4
  • 4-1 [Java中运算符] 复习上节内容 (07:45).mp4
  • 4-2 [Java中运算符] Java练习题1 (25:43).mp4
  • 4-3 [Java中运算符] Java练习题2 (11:42).mp4
  • 4-4 [Java中运算符] 强制类型转换 (32:19).mp4
  • 4-5 [Java中运算符] 强制类型转换练习 (13:59).mp4
  • 4-6 [Java中运算符] 算数运算符1 (16:00).mp4
  • 4-7 [Java中运算符] 算数运算符2 (18:02).mp4
  • 4-8 [Java中运算符] 复习上节内容 (05:02).mp4
  • 4-9 [Java中运算符] 赋值运算符 (04:11).mp4
  • 4-10 [Java中运算符] 比较运算符 (05:38).mp4
  • 4-11 [Java中运算符] 案例1 (05:31).mp4
  • 4-12 [Java中运算符] 案例2 (07:45).mp4
  • 4-13 [Java中运算符] 逻辑运算符 (12:04).mp4
  • 4-14 [Java中运算符] 短路与和短路或 (11:43).mp4
  • 4-15 [Java中运算符] 案例3 (04:35).mp4
  • 4-16 [Java中运算符] 位运算 (16:04).mp4
  • 4-17 [Java中运算符] 位运算练习 (11:26).mp4
  • 4-18 [Java中运算符] 三目运算符 (02:27).mp4
  • 4-19 [Java中运算符] 三元表达式案例 (04:33).mp4
  • 5-1 [Java中分支语句] 复习上节内容 (12:37).mp4
  • 5-2 [Java中分支语句] 练习题 (23:16).mp4
  • 5-3 [Java中分支语句] 流程控制语句简介 (02:32).mp4
  • 5-4 [Java中分支语句] 顺序结构 (03:49).mp4
  • 5-5 [Java中分支语句] 单分支IF (17:30).mp4
  • 5-6 [Java中分支语句] 双分支IF (08:02).mp4
  • 5-7 [Java中分支语句] 多重if结构 (11:40).mp4
  • 5-8 [Java中分支语句] IF语句嵌套结构 (07:15).mp4
  • 5-9 [Java中分支语句] 复习上节内容 (12:06).mp4
  • 5-10 [Java中分支语句] swtich语法结构 (12:11).mp4
  • 5-11 [Java中分支语句] swtich穿透现象 (08:10).mp4
  • 5-12 [Java中分支语句] switch语句和if对比 (04:28).mp4
  • 5-13 [Java中分支语句] 案例练习 (25:28).mp4
  • 6-1 [Java中循环语句] 复习上节内容 (05:20).mp4
  • 6-2 [Java中循环语句] 练习题 (40:09).mp4
  • 6-3 [Java中循环语句] 为什么要用循环 (03:42).mp4
  • 6-4 [Java中循环语句] while循环 (15:24).mp4
  • 6-5 [Java中循环语句] while案例 (07:52).mp4
  • 6-6 [Java中循环语句] do-while循环 (08:18).mp4
  • 6-7 [Java中循环语句] do-while案例 (09:19).mp4
  • 6-8 [Java中循环语句] for循环 (14:09).mp4
  • 6-9 [Java中循环语句] FOR循环案例 (02:18).mp4
  • 6-10 [Java中循环语句] for案例 (04:38).mp4
  • 6-11 [Java中循环语句] break关键字作用 (07:07).mp4
  • 6-12 [Java中循环语句] continue关键字 (04:24).mp4
  • 6-13 [Java中循环语句] break关键字案例 (10:41).mp4
  • 6-14 [Java中循环语句] break案例 (03:02).mp4
  • 6-15 [Java中循环语句] 项目的导入和导出 (03:44).mp4
  • 6-16 [Java中循环语句] 复习上节内容 (04:03).mp4
  • 6-17 [Java中循环语句] 练习题 (22:54).mp4
  • 6-18 [Java中循环语句] 循环嵌套 (13:28).mp4
  • 6-19 [Java中循环语句] 循环嵌套案例 (09:32).mp4
  • 6-20 [Java中循环语句] 循环练习 (08:42).mp4
  • 7-1 [Java中的数组] 循环练习 (21:08).mp4
  • 7-2 [Java中的数组] 选择题 (11:29).mp4
  • 7-3 [Java中的数组] 打印树形 (10:09).mp4
  • 7-4 [Java中的数组] 为什么要用数组 (04:40).mp4
  • 7-5 [Java中的数组] 数组的概述 (03:53).mp4
  • 7-6 [Java中的数组] 数组的基本要素数组的基本要素 (06:17).mp4
  • 7-7 [Java中的数组] 数组的声明 (05:27).mp4
  • 7-8 [Java中的数组] 数组的初始化方式1 (11:26).mp4
  • 7-9 [Java中的数组] 数组的初始化方式2 (03:41).mp4
  • 7-10 [Java中的数组] 一维数组的使用 (05:39).mp4
  • 7-11 [Java中的数组] 数组的循环 (15:42).mp4
  • 7-12 [Java中的数组] 数组的默认值 (03:10).mp4
  • 7-13 [Java中的数组] 复习上节内容 (05:20).mp4
  • 7-14 [Java中的数组] 上机练习题 (17:01).mp4
  • 7-15 [Java中的数组] 选择题 (05:20).mp4
  • 7-16 [Java中的数组] 数组案例 (07:02).mp4
  • 7-17 [Java中的数组] 二维数组的定义 (20:04).mp4
  • 7-18 [Java中的数组] 数组的静态赋值 (08:52).mp4
  • 7-19 [Java中的数组] 二维数组遍历 (14:43).mp4
  • 7-20 [Java中的数组] 二维数组案例 (06:57).mp4
  • 7-21 [Java中的数组] 二维数组的应用 (14:34).mp4
  • 7-22 [Java中的数组] 冒泡排序 (18:03).mp4
  • 7-23 [Java中的数组] 数组的插入演示 (24:14).mp4
  • 7-24 [Java中的数组] 数组的删除 (11:50).mp4
  • 8-1 [面向对象基本思想] 最大值最小值问题 (13:50).mp4
  • 8-2 [面向对象基本思想] 选择题答案 (09:14).mp4
  • 8-3 [面向对象基本思想] 面向对象编程概念 (15:27).mp4
  • 8-4 [面向对象基本思想] 人类认识事物的过程 (05:05).mp4
  • 8-5 [面向对象基本思想] 对象的概念 (15:23).mp4
  • 8-6 [面向对象基本思想] 类的概念 (03:42).mp4
  • 8-7 [面向对象基本思想] 类和对象的关系 (03:36).mp4
  • 8-8 [面向对象基本思想] 自定义一个类 (06:58).mp4
  • 8-9 [面向对象基本思想] 属性(attribute) (05:04).mp4
  • 8-10 [面向对象基本思想] 方法的特点 (08:20).mp4
  • 8-11 [面向对象基本思想] 创建对象 (15:13).mp4
  • 8-12 [面向对象基本思想] 案例1 (09:17).mp4
  • 8-13 [面向对象基本思想] 案例2 (12:08).mp4
  • 8-14 [面向对象基本思想] 案例3 (07:31).mp4
  • 9-1 [面向对象编程-方法] 复习上节 (25:31).mp4
  • 9-2 [面向对象编程-方法] 选择题 (19:27).mp4
  • 9-3 [面向对象编程-方法] 上机练习 (04:07).mp4
  • 9-4 [面向对象编程-方法] 方法的返回值 (19:01).mp4
  • 9-5 [面向对象编程-方法] 带参数的方法 (24:19).mp4
  • 9-6 [面向对象编程-方法] 方法的参数详解 (07:48).mp4
  • 9-7 [面向对象编程-方法] 方法的重载 (20:08).mp4
  • 9-8 [面向对象编程-方法] 局部变量和全局变量 (20:08).mp4
  • 10-1 [面向对象编程-封装] 复习 (12:55).mp4
  • 10-2 [面向对象编程-封装] 方法练习题 (38:35).mp4
  • 10-3 [面向对象编程-封装] 为什么使用封装 (08:36).mp4
  • 10-4 [面向对象编程-封装] 封装思想 (31:37).mp4
  • 10-5 [面向对象编程-封装] 快速生成get和set方法 (05:58).mp4
  • 10-6 [面向对象编程-封装] 无参数的构造方法 (17:34).mp4
  • 10-7 [面向对象编程-封装] 有参数的构造方法 (13:49).mp4
  • 10-8 [面向对象编程-封装] 封装案例 (08:48).mp4
  • 10-9 [面向对象编程-封装] 常见访问修饰符 (05:49).mp4
  • 11-1 [面向对象编程-继承] 上机练习 (17:30).mp4
  • 11-2 [面向对象编程-继承] 选择题 (15:17).mp4
  • 11-3 [面向对象编程-继承] package关键字 (07:29).mp4
  • 11-4 [面向对象编程-继承] import关键字 (03:28).mp4
  • 11-5 [面向对象编程-继承] this关键字 (15:06).mp4
  • 11-6 [面向对象编程-继承] static关键字 (23:26).mp4
  • 11-7 [面向对象编程-继承] static关键字作用 (29:02).mp4
  • 11-8 [面向对象编程-继承] 继承的由来 (16:13).mp4
  • 11-9 [面向对象编程-继承] 继承的特性 (02:47).mp4
  • 11-10 [面向对象编程-继承] 继承案例 (15:11).mp4
  • 11-11 [面向对象编程-继承] 案例 (13:27).mp4
  • 11-12 [面向对象编程-继承] 选择题 (27:35).mp4
  • 11-13 [面向对象编程-继承] 方法的重写 (28:16).mp4
  • 11-14 [面向对象编程-继承] 方法的重写overwrite和方法重载overload (01:21).mp4
  • 11-15 [面向对象编程-继承] super关键字调用父类构造方法 (15:03).mp4
  • 11-16 [面向对象编程-继承] super关键字 (10:31).mp4
  • 11-17 [面向对象编程-继承] Object类常用方法 (18:54).mp4
  • 11-18 [面向对象编程-继承] Object类特性 (09:41).mp4
  • 12-1 [面向对象编程-多态] 案例 (30:06).mp4
  • 12-2 [面向对象编程-多态] 02-选择题 (15:08).mp4
  • 12-3 [面向对象编程-多态] 03-向上转型和向下转型 (38:14).mp4
  • 12-4 [面向对象编程-多态] 多态案例 (18:27).mp4
  • 12-5 [面向对象编程-多态] 多态相关的案例 (12:56).mp4
  • 12-6 [面向对象编程-多态] 冒泡排序 (16:40).mp4
  • 12-7 [面向对象编程-多态] Arrays工具类 (08:54).mp4
  • 13-1 [面向对象编程-抽象类和接口] 选择题 (19:46).mp4
  • 13-2 [面向对象编程-抽象类和接口] 为什么要有抽象方法 (13:30).mp4
  • 13-3 [面向对象编程-抽象类和接口] 抽象方法的使用 (07:08).mp4
  • 13-4 [面向对象编程-抽象类和接口] 抽象类的特点 (03:10).mp4
  • 13-5 [面向对象编程-抽象类和接口] 抽象类案例 (20:51).mp4
  • 13-6 [面向对象编程-抽象类和接口] 接口概念 (16:06).mp4
  • 13-7 [面向对象编程-抽象类和接口] 接口的使用 (12:29).mp4
  • 13-8 [面向对象编程-抽象类和接口] 接口和抽象类的异同点 (07:09).mp4
  • 13-9 [面向对象编程-抽象类和接口] 接口的多实现 (02:43).mp4
  • 13-10 [面向对象编程-抽象类和接口] 接口和抽象类案例 (25:39).mp4
  • 14-1 [Java中实用类] 常用包 (15:56).mp4
  • 14-2 [Java中实用类] 包装类概念 (14:08).mp4
  • 14-3 [Java中实用类] 包装类创建 (07:46).mp4
  • 14-4 [Java中实用类] 包装类转化为基本数据类型 (02:59).mp4
  • 14-5 [Java中实用类] 本教程是JAVA开发工程师全套学习教程中的第一阶段:JAVA (04:52).mp4
  • 14-6 [Java中实用类] 装箱和拆箱 (04:41).mp4
  • 14-7 [Java中实用类] 基本数据类型转字符串 (03:33).mp4
  • 14-8 [Java中实用类] Math数学工具类 (17:28).mp4
  • 14-9 [Java中实用类] Math生成随机数 (08:15).mp4
  • 14-10 [Java中实用类] 随机数案例1 (08:50).mp4
  • 14-11 [Java中实用类] 随机数案例2 (09:39).mp4
  • 14-12 [Java中实用类] Random随机数 (05:02).mp4
  • 14-13 [Java中实用类] 作业练习 (04:13).mp4
  • 14-14 [Java中实用类] Date时间类 (13:59).mp4
  • 15-1 [Java中的字符串] 练习题 (33:19).mp4
  • 15-2 [Java中的字符串] Calendar类 (09:04).mp4
  • 15-3 [Java中的字符串] String字符串简介 (10:27).mp4
  • 15-4 [Java中的字符串] 字符串常用方法 (27:52).mp4
  • 15-5 [Java中的字符串] 字符串的查询位置 (16:02).mp4
  • 15-6 [Java中的字符串] 字符串的截取 (05:55).mp4
  • 15-7 [Java中的字符串] 字符串的拆分 (03:39).mp4
  • 15-8 [Java中的字符串] 字符串中==和equals区别 (06:27).mp4
  • 15-9 [Java中的字符串] 字符串案例 (05:50).mp4
  • 15-10 [Java中的字符串] 复习字符串 (47:57).mp4
  • 15-11 [Java中的字符串] 堆和栈概念 (25:33).mp4
  • 15-12 [Java中的字符串] 字符串常量池 (10:13).mp4
  • 15-13 [Java中的字符串] 字符串的==比较 (13:33).mp4
  • 15-14 [Java中的字符串] StringBuffer类 (17:19).mp4
  • 15-15 [Java中的字符串] StringBuffer性能测试 (06:41).mp4
  • 15-16 [Java中的字符串] StringBuffer类常用的方法 (07:42).mp4
  • 15-17 [Java中的字符串] StringBuffer和StringBuilder和Str (06:05).mp4
  • 15-18 [Java中的字符串] StringBuffer应用 (15:17).mp4
  • 16-1 [Java中的异常] 异常概念 (16:20).mp4
  • 16-2 [Java中的异常] 传统的异常处理 (07:53).mp4
  • 16-3 [Java中的异常] try-catch结构 (28:21).mp4
  • 16-4 [Java中的异常] 异常信息提示 (19:50).mp4
  • 16-5 [Java中的异常] 异常结构 try-catch-finally (14:08).mp4
  • 16-6 [Java中的异常] 常见的异常类型 (08:22).mp4
  • 16-7 [Java中的异常] 异常结构-多重catch (15:58).mp4
  • 16-8 [Java中的异常] Throws和Throw关键字 (17:59).mp4
  • 16-9 [Java中的异常] Throws和Throw关键字区别 (05:48).mp4
  • 16-10 [Java中的异常] 异常结构体系 (09:10).mp4
  • 16-11 [Java中的异常] 错误(error)和异常(Exception)区别 (06:41).mp4
  • 17-1 [Java中的集合] 为什么要学习集合 (16:14).mp4
  • 17-2 [Java中的集合] 集合体系结构 (09:06).mp4
  • 17-3 [Java中的集合] List接口 (11:58).mp4
  • 17-4 [Java中的集合] ArrayList集合简介 (09:24).mp4
  • 17-5 [Java中的集合] ArrayList集合 (14:07).mp4
  • 17-6 [Java中的集合] ArrayList集合存储对象 (16:46).mp4
  • 17-7 [Java中的集合] 增强for循环 (12:40).mp4
  • 17-8 [Java中的集合] 迭代器循环 (14:56).mp4
  • 17-9 [Java中的集合] ArrayList集合循环方式 (04:06).mp4
  • 17-10 [Java中的集合] LinkedList集合 (10:37).mp4
  • 17-11 [Java中的集合] ArrayList和LinkedList分别在何时使用 (15:54).mp4
  • 17-12 [Java中的集合] 复习上节 (17:50).mp4
  • 17-13 [Java中的集合] HashSet集合 (20:27).mp4
  • 17-14 [Java中的集合] HashSet集合存储对象 (19:30).mp4
  • 17-15 [Java中的集合] 案例:HashSet案例 (06:45).mp4
  • 17-16 [Java中的集合] HashMap集合 (21:25).mp4
  • 17-17 [Java中的集合] HashMap存储对象遍历 (15:28).mp4
  • 17-18 [Java中的集合] 泛型集合 (11:47).mp4
  • 17-19 [Java中的集合] 泛型应用 (19:56).mp4
  • 17-20 [Java中的集合] TreeSet集合 (18:10).mp4
  • 17-21 [Java中的集合] TreeSet排序 (29:17).mp4
  • 17-22 [Java中的集合] 内部排序 (12:36).mp4
  • 17-23 [Java中的集合] 外部排序 (15:04).mp4
  • 17-24 [Java中的集合] TreeMap集合 (06:47).mp4
  • 17-25 [Java中的集合] TreeMap集合排序 (08:43).mp4
  • 17-26 [Java中的集合] Collections集合工具类 (14:16).mp4
  • 17-27 [Java中的集合] HashMap和HashTable区别 (06:50).mp4
  • 17-28 [Java中的集合] 集合选择题 (15:54).mp4
  • 17-29 [Java中的集合] 图书购买系统案例 (01:01:16).mp4
  • 17-30 [Java中的集合] 代码调试过程 (13:34).mp4
  • 17-31 [Java中的集合] 练习讲解 (27:04).mp4
  • 18-1 [Java中的IO流操作] IO流的简介 (17:27).mp4
  • 18-2 [Java中的IO流操作] File类的构造方法 (13:52).mp4
  • 18-3 [Java中的IO流操作] File类中常用方法 (24:20).mp4
  • 18-4 [Java中的IO流操作] 绝对路径和相对路径 (02:42).mp4
  • 18-5 [Java中的IO流操作] File类中判断相关的方法 (03:16).mp4
  • 18-6 [Java中的IO流操作] File类中的删除和创建相关方法 (13:20).mp4
  • 18-7 [Java中的IO流操作] File类中常用方法 (06:30).mp4
  • 18-8 [Java中的IO流操作] 递归的特性 (08:00).mp4
  • 18-9 [Java中的IO流操作] 递归案例 (07:48).mp4
  • 18-10 [Java中的IO流操作] 递归的作业 (05:57).mp4
  • 18-11 [Java中的IO流操作] 递归的案例测试 (11:16).mp4
  • 18-12 [Java中的IO流操作] 递归的案例 (16:19).mp4
  • 18-13 [Java中的IO流操作] 文件过滤器FileFilter (16:24).mp4
  • 18-14 [Java中的IO流操作] FIle类小结 (02:00).mp4
  • 18-15 [Java中的IO流操作] IO流的分类1 (11:39).mp4
  • 18-16 [Java中的IO流操作] IO类的父类 (04:40).mp4
  • 18-17 [Java中的IO流操作] OutputStream字节输出流 (05:23).mp4
  • 18-18 [Java中的IO流操作] 创建一个字节输出流 (06:59).mp4
  • 18-19 [Java中的IO流操作] 输出流方法Write1 (06:21).mp4
  • 18-20 [Java中的IO流操作] 输出流方法Write2 (07:18).mp4
  • 18-21 [Java中的IO流操作] 输出流方法Write3 (09:33).mp4
  • 18-22 [Java中的IO流操作] 关于中文字节问题 (02:57).mp4
  • 18-23 [Java中的IO流操作] 文件追加和换行 (02:47).mp4
  • 18-24 [Java中的IO流操作] 文件读取方式 (08:36).mp4
  • 18-25 [Java中的IO流操作] 文件的读取字节数组方式 (13:56).mp4
  • 18-26 [Java中的IO流操作] 字节流复制文件 (08:40).mp4
  • 18-27 [Java中的IO流操作] 字节流作业 (05:47).mp4
  • 18-28 [Java中的IO流操作] 上机练习复习 (29:59).mp4
  • 18-29 [Java中的IO流操作] 字符流概述 (06:25).mp4
  • 18-30 [Java中的IO流操作] 字符流读取文件1 (11:11).mp4
  • 18-31 [Java中的IO流操作] 字符流读取文件2 (04:42).mp4
  • 18-32 [Java中的IO流操作] 字符输出流写文件 (11:38).mp4
  • 18-33 [Java中的IO流操作] 字符流中close方法和flush方法 (09:02).mp4
  • 18-34 [Java中的IO流操作] 字符流读写文件案例 (08:55).mp4
  • 18-35 [Java中的IO流操作] 字符流实现文件的复制案例 (09:34).mp4
  • 18-36 [Java中的IO流操作] 上机练习 (03:07).mp4
  • 18-37 [Java中的IO流操作] 缓冲流简介 (07:08).mp4
  • 18-38 [Java中的IO流操作] 原始的字节流效率低 (08:51).mp4
  • 18-39 [Java中的IO流操作] 使用字节缓冲流进行文件复制 (03:28).mp4
  • 18-40 [Java中的IO流操作] 缓冲流的原理 (08:28).mp4
  • 18-41 [Java中的IO流操作] 字节缓冲流小结 (02:52).mp4
  • 18-42 [Java中的IO流操作] 字符缓冲输入输出流 (09:47).mp4
  • 18-43 [Java中的IO流操作] 字符缓冲流的案例 (24:39).mp4
  • 18-44 [Java中的IO流操作] 字符流的乱码问题 (09:56).mp4
  • 18-45 [Java中的IO流操作] 字节转字符的转换流案例 (10:56).mp4
  • 18-46 [Java中的IO流操作] 字符转字节的转换流 (09:10).mp4
  • 18-47 [Java中的IO流操作] 转换流小结 (01:54).mp4
  • 18-48 [Java中的IO流操作] 转换流设置文件编码格式 (09:31).mp4
  • 18-49 [Java中的IO流操作] 练习题1 (19:36).mp4
  • 18-50 [Java中的IO流操作] 练习题2 (06:18).mp4
  • 18-51 [Java中的IO流操作] 序列化和反序列化的概念 (05:39).mp4
  • 18-52 [Java中的IO流操作] 序列化对象 (09:29).mp4
  • 18-53 [Java中的IO流操作] 反序列化对象 (04:49).mp4
  • 18-54 [Java中的IO流操作] transient关键字 (04:27).mp4
  • 18-55 [Java中的IO流操作] 关于对象反序列化异常 (08:26).mp4
  • 18-56 [Java中的IO流操作] 序列化ID的问题 (06:10).mp4
  • 18-57 [Java中的IO流操作] serialVersionUID的IDEA生成 (03:22).mp4
  • 18-58 [Java中的IO流操作] 序列化的案例 (15:38).mp4
  • 19-1 [项目综合练习] 项目的需求 (17:03).mp4
  • 19-2 [项目综合练习] 创建一个电影类 (08:06).mp4
  • 19-3 [项目综合练习] 初始化电影数据 (11:13).mp4
  • 19-4 [项目综合练习] 准备UI的主方法 (10:20).mp4
  • 19-5 [项目综合练习] 从配置文件中读取用户信息 (17:12).mp4
  • 19-6 [项目综合练习] 用户登录 (05:53).mp4
  • 19-7 [项目综合练习] 显示电影院的屏幕信息 (10:34).mp4
  • 19-8 [项目综合练习] 显示电影座位 (04:37).mp4
  • 19-9 [项目综合练习] 回顾上节 (03:23).mp4
  • 19-10 [项目综合练习] 提示用户输入电影名称 (10:12).mp4
  • 19-11 [项目综合练习] 提示用户输入的电影座位号 (09:00).mp4
  • 19-12 [项目综合练习] 提示用户输入电影的放映时间 (16:54).mp4
  • 19-13 [项目综合练习] 新增一个票类 (14:01).mp4
  • 19-14 [项目综合练习] 打印一个票 (15:53).mp4
  • 19-15 [项目综合练习] 存储卖出的票数据 (21:40).mp4
  • 19-16 [项目综合练习] 关于重复购票问题 (14:20).mp4
  • 19-17 [项目综合练习] 项目完善 (04:09).mp4
  • 20-1 [Java中的多线程] 序列化练习题 (08:16).mp4
  • 20-2 [Java中的多线程] 进程线程和程序的概念 (20:47).mp4
  • 20-3 [Java中的多线程] 继承Thread类实现多线程 (16:29).mp4
  • 20-4 [Java中的多线程] 实现Runable接口完成多线程 (10:59).mp4
  • 20-5 [Java中的多线程] 匿名内部类实现多线程 (05:23).mp4
  • 20-6 [Java中的多线程] Thread和Runnable的区别 (05:29).mp4
  • 20-7 [Java中的多线程] 线程的生命周期 (08:13).mp4
  • 20-8 [Java中的多线程] join方法作用 (17:01).mp4
  • 20-9 [Java中的多线程] 线程的优先级问题 (12:10).mp4
  • 20-10 [Java中的多线程] 线程的Sleep方法 (05:29).mp4
  • 20-11 [Java中的多线程] yield方法的作用 (12:06).mp4
  • 20-12 [Java中的多线程] 多线程的使用场景 (10:22).mp4
  • 20-13 [Java中的多线程] Sleep方法和Yield (06:25).mp4
  • 20-14 [Java中的多线程] 知识点回顾 (19:39).mp4
  • 20-15 [Java中的多线程] 作业回顾 (24:28).mp4
  • 20-16 [Java中的多线程] 上机练习 (16:19).mp4
  • 20-17 [Java中的多线程] Join方法面试题 (07:47).mp4
  • 20-18 [Java中的多线程] 线程安全问题 (19:17).mp4
  • 20-19 [Java中的多线程] 同步方法 (07:39).mp4
  • 20-20 [Java中的多线程] 同步代码块 (09:09).mp4
  • 20-21 [Java中的多线程] 同步代码块和同步方法 (03:16).mp4
  • 20-22 [Java中的多线程] 线程案例练习 (25:55).mp4
  • 20-23 [Java中的多线程] 死锁的概念 (07:28).mp4
  • 20-24 [Java中的多线程] 死锁的案例 (08:51).mp4
  • 20-25 [Java中的多线程] Lock锁 (17:44).mp4
  • 20-26 [Java中的多线程] Lock尝试加锁 (11:20).mp4
  • 20-27 [Java中的多线程] 线程的调度方法 (17:25).mp4
  • 20-28 [Java中的多线程] 线程的调用案例 (10:35).mp4
  • 20-29 [Java中的多线程] 案例1 (28:09).mp4
  • 20-30 [Java中的多线程] 案例2 (17:48).mp4
  • 20-31 [Java中的多线程] 案例3 (14:57).mp4
  • 20-32 [Java中的多线程] 案例4 (08:53).mp4
  • 20-33 [Java中的多线程] 选择和判断 (12:23).mp4
  • 20-34 [Java中的多线程] 双色球案例 (11:48).mp4
  • 20-35 [Java中的多线程] 双色球机选 (08:48).mp4
  • 21-1 [Java中的线程池] Java线程池的简介 (13:40).mp4
  • 21-2 [Java中的线程池] Jdk自带的线程池框架体系结构 (12:37).mp4
  • 21-3 [Java中的线程池] 线程池的核心参数 (09:27).mp4
  • 21-4 [Java中的线程池] 线程池几个参数的含义 (07:57).mp4
  • 21-5 [Java中的线程池] 线程池的的工作流程 (21:41).mp4
  • 21-6 [Java中的线程池] 自定义线程池业务逻辑 (23:08).mp4
  • 21-7 [Java中的线程池] 自定义线线程池分析 (14:01).mp4
  • 21-8 [Java中的线程池] ExecutorService接口常用的方法 (12:15).mp4
  • 21-9 [Java中的线程池] newCachedThreadPool线程池 (16:12).mp4
  • 21-10 [Java中的线程池] newFixedThreadPool线程池 (07:15).mp4
  • 21-11 [Java中的线程池] newSingleThreadExecutor线程池 (04:42).mp4
  • 21-12 [Java中的线程池] newScheduledThreadPool线程池 (11:38).mp4
  • 21-13 [Java中的线程池] newSingleThreadScheduledExecut (14:23).mp4
  • 21-14 [Java中的线程池] 五种类型的线程池 (02:01).mp4
  • 21-15 [Java中的线程池] Future接口简单测试 (16:54).mp4
  • 21-16 [Java中的线程池] 线程池简单回顾 (13:56).mp4
  • 21-17 [Java中的线程池] 线程池秒杀案例 (17:38).mp4
  • 21-18 [Java中的线程池] 线程池案例-取款业务 (09:12).mp4
  • 21-19 [Java中的线程池] JDK默认的线程池饱和拒绝策略 (04:30).mp4
  • 21-20 [Java中的线程池] 线程池默认的拒绝策略-AbortPolicy (14:29).mp4
  • 21-21 [Java中的线程池] 线程池拒绝策略-CallerRunsPolicy (05:09).mp4
  • 21-22 [Java中的线程池] 线程池拒绝策略剩余2种 (05:30).mp4
  • 21-23 [Java中的线程池] 线程池自定义拒绝策略 (09:53).mp4
  • 21-24 [Java中的线程池] 线程池常见的面试题 (14:31).mp4
  • 21-25 [Java中的线程池] 线程池的关闭相关API (39:20).mp4
  • 21-26 [Java中的线程池] 线程池的面试题解析 (22:16).mp4
  • … 共 537 条