{{pageTitle}}

本系列课程概述 本系列系统地介绍Java平台的各项基础开发技术。 学习指导

本系列当前录制完成了8门课,推荐学习顺序如下:

零基础学习者,先学习“我的第一门编程课(Java版)”,掌握Java编程语言,打好面向对象编程基础。之后,学习“Java函数式编程入门”,这两门课为进一步学习其他Java课程所必需。

完成基础部份的学习之后,可以进一步学习Java SE中的其他技术,这些技术是进一步学习与掌握实际开发中真正使用的各种上层框架的基础。

系统学习多线程技术,按以下顺序:循序渐进学Java多线程开发 --> Java异步与反应式编程入门 ,前者是各公司面试必考内容,而后者,则是开发高性能Java应用,以及掌握诸如Spring WebFlux等上层应用框架所必需。

学完多线程技术之后,推荐进一步学习Java IO和网络开发,其顺序为:Java IO与NIO基础--> Java经典网络开发技术,主要目的是掌握Socket编程模型,为进一步学习与掌握业界广泛使用的Netty等 上层网络开发框架打好基础

以下几门课相对比较独立,可以按照自己的需求选学:

“Java模块化技术原理及应用”,本课程介绍JPMS。JDK 9之后的Java平台,已经是模块化的了。学完本课程之后,后继可跟着学JavaFX。

“Java数据存取第一课:JDBC基础教程”,JDBC是Java平台访问关系型数据库的标准模型,许多上层数据存取框架底层封装的,其实就是JDBC。因此,它是学习这些数据存取框架(比如Spring Data)的前提与基础。

“JavaFX桌面应用开发技术精要”,JavaFX是Java平台的桌面应用开发技术,是一门其实相当不错,但却为人所忽视的技术。本课程介绍了如何使用它来开发JavaFX桌面应用。注意,由于JavaFX已经全面模块化,因此,学习本课程之前,最好先学“Java模块化技术原理及应用”。 另外,JavaFX应用与JDBC相结合,可以轻松地开发数据库应用。集成Socket,则可以轻松地开发网络应用,因此,推荐本课程与“JDBC基础教程”和“Java经典网络开发技术”配套学习。

本系列课程将持续更新与补充新内容。

学完本系列课程之后,建议进一步学习本网站所提供的“Spring系列课程群”.

课程列表
【入门课】我的第一门编程课
(Java版,2020)

针对零基础同学,介绍Java编程语言特性、编程技巧与JDK基础技术,深入系统地理解面向对象,指导进行规范的软件开发职业技能训练,以帮助自学者能顺利找到一份Java程序员的工作,并最终成长为一名优秀的软件工程师。

2020版基于JDK 15,使用IntelliJ IDEA 2020.2

学习本课程是进入Java开发领域的第一步,后继会跟进数据库、网络开发、RxJava、Spring Boot等技术专题课程

后继既可以继续深入学习本网站所提供的Java技术进阶专题课程,也可以立即学习兄弟课程“我的第一门编程课(Kotlin版,2020)”,进入Android开发技术领域。

【进阶课】Java函数式编程入门
(JDK 17, 2021)

本课程介绍函数式编程的基础知识,展示如何使用Java 8引入的Lambda编写函数式风格的Java代码, 并介绍JDK中Stream API的基本用法与使用技巧。

本课程分为两大模块:

(1)Java函数式编程特性

(2)使用Stream API处理数据

学习本课程,要求学习者己经掌握Java面向对象编程相关的基础知识与编程技巧。

本课程的先导课程:

我的第一门编程课(Java版)

【进阶课】循序渐进学Java多线程开发
(JDK17,2022)

帮助学习者高效地掌握Java多线程相关的理论与编程技巧,顺利地通过求职面试,同时能学以致用,应用多线程技术开发出高性能的Java应用。

本课程示例基于JDK 17,开发工具为IntelliJ IDEA 2022

本课程分为三大模块:

(1)Java多线程编程基础

(2)线程同步

(3)学用JDK多线程组件

学习本课程,要求学习者己经掌握Java面向对象和函数式编程相关的基础知识与编程技巧。

本课程的先导课程:

我的第一门编程课(Java版)

Java函数式编程

【专题课】Java异步与反应式编程入门
(JDK 17,2022)

本课程承接《循序渐进学Java多线程开发》在线课程,继续介绍Java多线程开发的进阶内容。

本课程示例基于JDK 17,开发工具为IntelliJ IDEA 2022

主要包容以下内容:

(1)线程池

(2)Java异步编程模型

(3)强大的反应式编程框架——RxJava

【进阶课】Java IO与NIO基础
(JDK 17,2022)

本课程通过大量示例,系统介绍JDK中常用的IO和NIO组件的用法。

示例使用IntelliJ IDEA 2022,基于JDK 17

【专题课】Java经典网络开发技术
(JDK 17,2023)

本课程向学习者系统介绍Java平台的Socket编程模型,使用它,开发者可以开发出常用的网络应用程序——比如网络聊天室、Web服务器等。

并且为进一步地学习上层网络开发框架,比如Netty,打下扎实的基础。

示例使用IntelliJ IDEA 2023,基于JDK 17

【进阶课】Java数据存取第一课:JDBC基础教程
(JDK 17,2022)

本课程是系统学习Java数据存取技术的入门课,介绍Java程序中如何使用JDBC存取数据库。

本课程示例使用InteillJ IDEA 2021,基于JDK 17开发。

学习前提:《我的第一门编程课(Java版)》。

学完本课程后,可进一步学习Java平台的各种数据存取技术,比如Spring Data JPA或MyBatis。 本课程为学习这些技术打好了基础,扫清了障碍。

【专题课】Java模块化技术原理及应用
(JDK 17,2022)

系统介绍JDK 9引入的模块化技术,帮助你快速掌握Java平台这个重要的技术,训练设计模块化软件系统的专业技能。

示例使用IntelliJ IDEA 2021,基于JDK 17

【专题课】JavaFX桌面应用开发技术精要
(JDK 17, 2023)

JavaFX是Java平台新的桌面应用开发技术,用于取代传统的AWT和Swing技术。与其它桌面应用框架(比如QT和WPF)相比,JavaFX在技术上并不差, 并且近些年来一直在持续更新,功能越来越完善。

本课程向学习者介绍使用JavaFX开发桌面应用所需的基础知识和编程技能。

学习本课程,要求学习者己经掌握Java面向对象编程相关的基础知识与编程技巧。

本课程的先导课程:

我的第一门编程课(Java版)

Java函数式编程入门

注意:由于JavaFX已经模块化,因此本课程中会涉及到部分Java模块化的相关内容,这部分内容,在 Java模块化技术原理及应用 中有介绍。

最佳伴侣: 作为一个桌面应用框架,JavaFX可以与其它的Java技术相互配合,比如,与JDBC配合,可以开发数据应用,与Socket结合,可以开发诸如网络聊天室客户端这样的网络应用。

【专题课】.Java工具箱
(JDK 17+)
本课程主要是介绍在实际开发中经常使用的一些第三方工具和框架,还包括JDK中一些零散的 但在特定场景中很有用的组件。

学习本课程,各部分独立成篇,可以挑选感兴趣的内容直接学习。如果学习特定内容需要有先期知识作铺垫, 会在相应内容开头给出提示。

本课程采用离散迭代方式更新,将长期持续补充新内容。