这门课解决什么工作场景
JavaSE是Java生态的地基。无论你未来想做企业级后端、安卓客户端,还是大数据处理,底层逻辑都绕不开这一环。很多上班族在转行时容易踩坑,直接去学Web框架,结果一遇到空指针、内存溢出,或者多线程并发问题就完全懵了,根本不知道怎么排查。这门课针对的正是这种“知其然不知其所以然”的窘境。它不教你写多炫酷的页面,而是把面向对象、集合框架、多线程、异常处理这些底层机制掰开揉碎。学透这些,你在工作场景中遇到复杂的业务逻辑抽象、接口数据流转,甚至是线上性能瓶颈,才能有底气去定位问题,而不是对着报错信息干瞪眼。
适合什么基础与建议先看哪几块
这门课属于零基础起步,不要求你有其他语言背景,但需要你做好死磕语法的心理准备。如果你之前做过非开发岗,比如测试或运维,想往开发转,这套资料能帮你把碎片化的语法认知重新严谨化。建议拿到资料后,优先看环境配置、第一个程序和API文档使用这几块。环境配置是很多新手的劝退点,跟着视频把开发工具和运行环境跑通,能省去后期无数折腾。同时,尽早掌握API文档的查阅方法,这比死记硬背任何关键字都管用。面向对象和集合框架是核心,这部分不要开倍速,必须跟着敲代码,理解类、对象、接口在实际内存中的运作方式。
学完能独立做什么与资料怎么配合练习
学完这门课,你不会立刻成为架构师,但能独立完成控制台级别的程序开发。比如写一个员工考勤计算系统、一个简单的图书管理逻辑,或者实现多线程的数据批量处理。你能看懂别人写的底层工具类,能封装自己的业务方法,并在遇到逻辑错误时,通过看懂报错堆栈自己调试。配合资料练习时,切忌只看不练。每看完一个章节,关掉视频,凭记忆把核心代码默写一遍。遇到卡壳的地方再回去定位。对于进制转换、关键字作用这类纯理论,理解即可不用死记;但循环、集合、多线程的代码示例,必须自己敲。把资料里的示例代码当作起点,尝试修改参数、增加边界条件,看看程序会怎么报错。这种试错练习,才是把语法转化为实际工作能力的最快途径。
课程目录
课程目录206 集
- 1-1 [环境配置和二进制转换] 软件开发的常识 (31:39).mp4
- 1-2 [环境配置和二进制转换] Java语言的简介 (09:19).mp4
- 1-3 [环境配置和二进制转换] Java程序开发前的准备工作 (17:39).mp4
- 1-4 [环境配置和二进制转换] Java程序的运行机制 (04:50).mp4
- 1-5 [环境配置和二进制转换] 第一个Java程序 (23:40).mp4
- 1-6 [环境配置和二进制转换] 注释的使用 (12:13).mp4
- 1-7 [环境配置和二进制转换] Java编码规范 (09:18).mp4
- 1-8 [环境配置和二进制转换] API文档的简单使用 (14:59).mp4
- 1-9 [环境配置和二进制转换] 关键字和标识符 (14:35).mp4
- 1-10 [环境配置和二进制转换] 进制的相关概念 (17:25).mp4
- 1-11 [环境配置和二进制转换] 进制之间的相互转换1 (26:22).mp4
- 1-12 [环境配置和二进制转换] 进制之间的相互转换2 (18:06).mp4
- 1-13 [环境配置和二进制转换] 原码反码以及补码 (22:18).mp4
- 2-1 [变量和运算符] 常量和变量 (27:34).mp4
- 2-2 [变量和运算符] 数据类型 (31:46).mp4
- 2-3 [变量和运算符] 不同数据类型变量的定义 (34:07).mp4
- 2-4 [变量和运算符] 类型转换 (42:56).mp4
- 2-5 [变量和运算符] 算术运算符和赋值运算符 (38:57).mp4
- 2-6 [变量和运算符] 关系运算符和逻辑运算符 (25:42).mp4
- 2-7 [变量和运算符] 位运算符 (27:41).mp4
- 2-8 [变量和运算符] 三目运算符和转义运算符 (16:03).mp4
- 3-1 [分支语句和循环语句] if语句的使用 (56:47).mp4
- 3-2 [分支语句和循环语句] 使用if语句可能会出现的错误 (06:41).mp4
- 3-3 [分支语句和循环语句] switch语句的使用一 (50:06).mp4
- 3-4 [分支语句和循环语句] while语句的使用 (31:25).mp4
- 3-5 [分支语句和循环语句] for语句的使用 (15:54).mp4
- 3-6 [分支语句和循环语句] 嵌套for循环的使用 (14:20).mp4
- 3-7 [分支语句和循环语句] for循环的几种特殊写法 (06:30).mp4
- 3-8 [分支语句和循环语句] 综合练习 (20:16).mp4
- 4-1 [函数的使用] break的使用 (16:48).mp4
- 4-2 [函数的使用] continue的使用 (11:32).mp4
- 4-3 [函数的使用] 函数的声明 (38:27).mp4
- 4-4 [函数的使用] 函数的调用 (17:59).mp4
- 4-5 [函数的使用] 静态和非静态的使用 (25:49).mp4
- 4-6 [函数的使用] 函数的参数(1) (27:03).mp4
- 4-7 [函数的使用] 函数的参数-2 (27:03).mp4
- 4-8 [函数的使用] 函数的返回值 (23:39).mp4
- 4-9 [函数的使用] 函数的递归 (28:30).mp4
- 4-10 [函数的使用] 作业讲解 (26:42).mp4
- 5-1 [数组的使用和简单算法] 初步认识数组 (27:10).mp4
- 5-2 [数组的使用和简单算法] 数组的初始化 (27:56).mp4
- 5-3 [数组的使用和简单算法] 数组的使用 (25:24).mp4
- 5-4 [数组的使用和简单算法] 数组使用过程中可能会出现的问题 (15:56).mp4
- 5-5 [数组的使用和简单算法] 数组的使用练习 (08:25).mp4
- 5-6 [数组的使用和简单算法] 内存中的数组 (32:22).mp4
- 5-7 [数组的使用和简单算法] 冒泡排序 (33:25).mp4
- 5-8 [数组的使用和简单算法] 选择排序 (23:45).mp4
- 5-9 [数组的使用和简单算法] 顺序查找 (13:58).mp4
- 6-1 [练习,二维数字,Arrays工具类] 二分法查找 (29:38).mp4
- 6-2 [练习,二维数字,Arrays工具类] 不定长参数 (18:28).mp4
- 6-3 [练习,二维数字,Arrays工具类] Arrays工具类 (45:03).mp4
- 6-4 [练习,二维数字,Arrays工具类] 二维数组 (30:46).mp4
- 6-5 [练习,二维数字,Arrays工具类] 二维数组的使用练习 (19:55).mp4
- 6-6 [练习,二维数字,Arrays工具类] 作业讲解 (39:52).mp4
- 7-1 [面向对象和构造函数] 面向对象的思想 (26:25).mp4
- 7-2 [面向对象和构造函数] 类和对象的概念 (13:59).mp4
- 7-3 [面向对象和构造函数] 声明一个类 (08:50).mp4
- 7-4 [面向对象和构造函数] 类中成员变量和成员方法的定义 (24:52).mp4
- 7-5 [面向对象和构造函数] 对象的创建以及内存分析 (33:04).mp4
- 7-6 [面向对象和构造函数] 综合练习一 (21:34).mp4
- 7-7 [面向对象和构造函数] 方法的重载 (22:07).mp4
- 7-8 [面向对象和构造函数] 构造方法的使用 (18:19).mp4
- 7-9 [面向对象和构造函数] 构造方法的重载 (21:26).mp4
- 7-10 [面向对象和构造函数] 综合练习二 (28:53).mp4
- 8-1 [封装和单例设计模式] 封装的概念 (06:42).mp4
- 8-2 [封装和单例设计模式] private关键字的使用 (07:54).mp4
- 8-3 [封装和单例设计模式] get和set方法的使用 (24:36).mp4
- 8-4 [封装和单例设计模式] this关键字的使用 (18:36).mp4
- 8-5 [封装和单例设计模式] this()的使用 (15:55).mp4
- 8-6 [封装和单例设计模式] 静态成员变量和静态方法 (28:41).mp4
- 8-7 [封装和单例设计模式] 静态代码块的使用 (15:59).mp4
- 8-8 [封装和单例设计模式] 构造代码块的使用 (17:29).mp4
- 8-9 [封装和单例设计模式] 自定义工具类 (07:43).mp4
- 8-10 [封装和单例设计模式] 单例设计模式 (32:05).mp4
- 8-11 [封装和单例设计模式] 包的使用 (22:29).mp4
- 8-12 [封装和单例设计模式] 综合练习 (12:55).mp4
- 9-1 [继承] 继承的概念 (14:55).mp4
- 9-2 [继承] 继承的实现 (24:21).mp4
- 9-3 [继承] 继承中的构造方法 (12:23).mp4
- 9-4 [继承] 子类对象实例化的过程 (06:34).mp4
- 9-5 [继承] super关键字的使用 (25:04).mp4
- 9-6 [继承] 综合练习 (13:24).mp4
- 9-7 [继承] 访问权限修饰符 (15:07).mp4
- 9-8 [继承] 方法的重写 (25:55).mp4
- 9-9 [继承] final关键字的使用 (39:02).mp4
- 9-10 [继承] Object类的使用 (49:03).mp4
- 10-1 [多态,抽象类和接口] 抽象类概念 (06:10).mp4
- 10-2 [多态,抽象类和接口] 抽象类的使用 (16:41).mp4
- 10-3 [多态,抽象类和接口] 抽象类的使用续 (06:51).mp4
- 10-4 [多态,抽象类和接口] 接口的使用 (54:09).mp4
- 10-5 [多态,抽象类和接口] 抽象类和接口综合应用 (42:43).mp4
- 10-6 [多态,抽象类和接口] 多态的使用 (36:20).mp4
- 11-1 [内部类和面向对象总结] 对象的转型 (29:25).mp4
- 11-2 [内部类和面向对象总结] 工厂设计模式 (33:16).mp4
- 11-3 [内部类和面向对象总结] 成员内部类 (28:47).mp4
- 11-4 [内部类和面向对象总结] 局部内部类 (26:10).mp4
- 11-5 [内部类和面向对象总结] 静态内部类 (06:15).mp4
- 11-6 [内部类和面向对象总结] 私有内部类 (06:33).mp4
- 11-7 [内部类和面向对象总结] 匿名内部类 (17:13).mp4
- 11-8 [内部类和面向对象总结] 面向对象总结一 (40:06).mp4
- 11-9 [内部类和面向对象总结] 面向对象总结二 (22:57).mp4
- 11-10 [内部类和面向对象总结] 电话本作业讲解 (33:56).mp4
- 11-11 [内部类和面向对象总结] 考试题讲解 (22:43).mp4
- 12-1 [String,StringBuilder和StringBuf] 内存中的字符串 (32:19).mp4
- 12-2 [String,StringBuilder和StringBuf] 字符串的获取 (12:40).mp4
- 12-3 [String,StringBuilder和StringBuf] 字符串的判断 (10:19).mp4
- 12-4 [String,StringBuilder和StringBuf] 字符串的转换 (20:06).mp4
- 12-5 [String,StringBuilder和StringBuf] 字符串替换以及分割等操作 (27:09).mp4
- 12-6 [String,StringBuilder和StringBuf] StringBuffer的使用 (35:48).mp4
- 12-7 [String,StringBuilder和StringBuf] String和StringBuffer的使用练习 (16:06).mp4
- 12-8 [String,StringBuilder和StringBuf] StringBuilder的使用 (05:02).mp4
- 12-9 [String,StringBuilder和StringBuf] 数据的装箱和拆箱 (18:04).mp4
- 12-10 [String,StringBuilder和StringBuf] 字符串和基本数据类型之间的相互转换 (19:10).mp4
- 12-11 [String,StringBuilder和StringBuf] 日期类的使用 (28:57).mp4
- 12-12 [String,StringBuilder和StringBuf] Random和Math类的使用 (16:55).mp4
- 13-1 [异常处理和枚举] 枚举的使用 (21:05).mp4
- 13-2 [异常处理和枚举] 异常的概念以及分类 (28:39).mp4
- 13-3 [异常处理和枚举] 异常处理方式之捕获异常 (34:25).mp4
- 13-4 [异常处理和枚举] 异常处理方式之抛出异常 (16:44).mp4
- 13-5 [异常处理和枚举] 关于异常的注意事项 (06:49).mp4
- 13-6 [异常处理和枚举] 自定义异常 (23:13).mp4
- 13-7 [异常处理和枚举] 集合的概念 (11:22).mp4
- 13-8 [异常处理和枚举] 集合的框架 (23:58).mp4
- 13-9 [异常处理和枚举] Collection中方法的使用 (23:20).mp4
- 14-1 [泛型,ArrayList和LinkedList] 泛型的概念和好处 (13:57).mp4
- 14-2 [泛型,ArrayList和LinkedList] 泛型的使用 (31:29).mp4
- 14-3 [泛型,ArrayList和LinkedList] 泛型中通配符的使用 (11:19).mp4
- 14-4 [泛型,ArrayList和LinkedList] 泛型中通配符的使用 (11:19).mp4
- 14-5 [泛型,ArrayList和LinkedList] ArrayList的使用练习 (19:51).mp4
- 14-6 [泛型,ArrayList和LinkedList] LinkedList的使用 (27:16).mp4
- 14-7 [泛型,ArrayList和LinkedList] Vector和Stack的使用 (08:34).mp4
- 14-8 [泛型,ArrayList和LinkedList] 集合的遍历方式 (43:06).mp4
- 15-1 [Set和Map] HashSet的排重方式 (45:05).mp4
- 15-2 [Set和Map] HashSet的常用方法 (08:04).mp4
- 15-3 [Set和Map] LinkedHashSet的使用 (05:08).mp4
- 15-4 [Set和Map] TreeSet的常用方法 (24:06).mp4
- 15-5 [Set和Map] TreeSet排序方式之自然排序 (27:36).mp4
- 15-6 [Set和Map] TreeSet排序之定制排序 (23:57).mp4
- 15-7 [Set和Map] HashMap的概念 (14:12).mp4
- 15-8 [Set和Map] HashMap的常用方法 (13:17).mp4
- 15-9 [Set和Map] LinkedHashMap的使用 (04:38).mp4
- 15-10 [Set和Map] Hashtable的使用 (04:41).mp4
- 15-11 [Set和Map] TreeMap的使用 (13:16).mp4
- 15-12 [Set和Map] Map集合的遍历 (20:27).mp4
- 16-1 [eclipse使用和IO流基本用法] 集合总结 (21:30).mp4
- 16-2 [eclipse使用和IO流基本用法] eclipse的使用 (33:56).mp4
- 16-3 [eclipse使用和IO流基本用法] File类的中的常用方法 (45:40).mp4
- 16-4 [eclipse使用和IO流基本用法] 很路径和相对路径 (07:31).mp4
- 16-5 [eclipse使用和IO流基本用法] File类的使用练习 (06:29).mp4
- 16-6 [eclipse使用和IO流基本用法] 流的概念和分类 (15:16).mp4
- 16-7 [eclipse使用和IO流基本用法] FileInputStream的使用 (29:00).mp4
- 16-8 [eclipse使用和IO流基本用法] FileReader的使用 (09:39).mp4
- 16-9 [eclipse使用和IO流基本用法] FileOutputStream和FileWriter的使用 (09:07).mp4
- 16-10 [eclipse使用和IO流基本用法] 使用字节流实现文件内容的拷贝 (14:03).mp4
- 17-1 [IO流高级用法] InputStreamReader的使用 (33:18).mp4
- 17-2 [IO流高级用法] OutputStreamWriter的使用 (09:36).mp4
- 17-3 [IO流高级用法] 使用转换流实现文件内容的拷贝 (15:28).mp4
- 17-4 [IO流高级用法] 字符集扩展 (06:37).mp4
- 17-5 [IO流高级用法] 缓冲字节流的使用 (29:08).mp4
- 17-6 [IO流高级用法] 缓冲字符流的使用 (14:49).mp4
- 17-7 [IO流高级用法] 使用缓冲流实现文件内容的拷贝 (11:50).mp4
- 17-8 [IO流高级用法] 对象流的使用 (36:15).mp4
- 17-9 [IO流高级用法] 合并流的使用 (23:55).mp4
- 17-10 [IO流高级用法] 打印流的使用 (02:58).mp4
- 17-11 [IO流高级用法] Properties类的使用 (20:26).mp4
- 18-1 [线程的基本使用] 流的总结 (12:26).mp4
- 18-2 [线程的基本使用] 线程和进程的概念以及区别 (24:23).mp4
- 18-3 [线程的基本使用] 创建线程方式之继承Thread类 (28:23).mp4
- 18-4 [线程的基本使用] 创建线程的方式练习 (11:47).mp4
- 18-5 [线程的基本使用] 创建线程方式之实现Runnable接口 (21:54).mp4
- 18-6 [线程的基本使用] 线程的生命周期 (25:23).mp4
- 18-7 [线程的基本使用] 线程优先级和休眠线程 (25:55).mp4
- 18-8 [线程的基本使用] 线程合并 (23:21).mp4
- 18-9 [线程的基本使用] 后台线程 (09:51).mp4
- 18-10 [线程的基本使用] 线程让步 (23:50).mp4
- 19-1 [生产者和消费者设计模式,锁] 临界资源出现的原因分析 (26:35).mp4
- 19-2 [生产者和消费者设计模式,锁] 同步代码块的使用 (27:16).mp4
- 19-3 [生产者和消费者设计模式,锁] 同步方法的使用 (10:38).mp4
- 19-4 [生产者和消费者设计模式,锁] 显式锁的使用 (33:07).mp4
- 19-5 [生产者和消费者设计模式,锁] 多线程在单例中的应用 (15:43).mp4
- 19-6 [生产者和消费者设计模式,锁] 生产者与消费者设计模式一 (51:24).mp4
- 19-7 [生产者和消费者设计模式,锁] 生产者与消费者设计模式二 (16:09).mp4
- 20-1 [TCP和UDP实现网络编程] 网络编程基础 (34:10).mp4
- 20-2 [TCP和UDP实现网络编程] InetAddress的使用 (09:15).mp4
- 20-3 [TCP和UDP实现网络编程] URLEncoder和URLDecoder的使用 (06:29).mp4
- 20-4 [TCP和UDP实现网络编程] UDP实现数据的发送和接收(2) (32:09).mp4
- 20-5 [TCP和UDP实现网络编程] TCP的三次握手以及Socket的通信模型 (18:09).mp4
- 20-6 [TCP和UDP实现网络编程] TCP实现数据的发送和接收一 (15:17).mp4
- 20-7 [TCP和UDP实现网络编程] TCP实现数据的发送和接收二 (16:29).mp4
- 20-8 [TCP和UDP实现网络编程] TCP实现数据的发送和接收三 (16:15).mp4
- 20-9 [TCP和UDP实现网络编程] TCP实现数据的发送和接收四 (26:25).mp4
- 21-1 [http通信协议和URLConnection] HTTP通信协议 (12:56).mp4
- 21-2 [http通信协议和URLConnection] URL和URLConnection (20:09).mp4
- 21-3 [http通信协议和URLConnection] 网络下载图片和数据 (28:57).mp4
- 21-4 [http通信协议和URLConnection] tcp实现注册和登录 (01:03:21).mp4
- 22-1 [反射] 反射的概念 (18:29).mp4
- 22-2 [反射] 获取一个Class对象 (15:23).mp4
- 22-3 [反射] 获取一个Class对象所表示的类的对象 (08:55).mp4
- 22-4 [反射] 反射的使用练习 (08:29).mp4
- 22-5 [反射] 获取构造方法 (19:08).mp4
- 22-6 [反射] 获取属性 (24:26).mp4
- 22-7 [反射] 获取成员方法 (17:27).mp4
- 23-1 [正则表达式] 匹配扣扣号 (16:23).mp4
- 23-2 [正则表达式] 正则表达式的使用一 (24:01).mp4
- 23-3 [正则表达式] 正则表达式的使用二 (23:59).mp4
- 23-4 [正则表达式] 正则表达式的使用三 (21:01).mp4






