前言
🍺🍺 各位读者朋友大家好!得益于各位朋友的支持和关注,我的专栏《Java基础教程》 至今已经更新完毕,我们一起探索了Java语言的许多核心概念和重要特性。在过去的文章中,我们一共涉及了入门知识介绍、编程基础概念、面向对象OOP、包及访问控制权限、异常处理篇、新特性篇、常用类库篇、多线程篇、IO流篇、网络编程篇、集合体系篇、JDBC篇以及特别篇一共十三个篇章,详细阐述了Java基础概念、语言特征、关键字、各类运算、抽象类、接口、包、权限、异常处理、新语法特性、常用类API、多线程编程、IO输入输出流处理、集合体系类继承关系及各常用类特征、JDBC连接步骤等多个主题知识。
我们深入研究了抽象类和接口,这些概念为面向对象编程提供了强大的工具,并且介绍了它们的定义、应用场景以及与模板设计模式、工厂设计模式和代理设计模式的关系。对于包的定义和导入机制,我们掌握了合理的组织代码的技巧,加深了对常用系统包和命令的理解。
同时,我们也学习了异常处理的方法,包括使用try-catch-finally
机制、throws
和throw
关键字,以及标准的异常处理格式。我们还认识到了RuntimeException
类的特殊性以及断言机制的作用,在编写拥有良好健壮性的代码方面受益匪浅。
…(此处省去一亿字)
总之,我想借此机会感谢每一位读者朋友对《Java基础教程》专栏的大力支持和反馈,你们的鼓励是我不断前进的动力。未来的专栏中,我们将继续深入探索Java语言的其他特性详细解析及更多框架解析,如JUC、异常体系、一些主流框架等等。
❤️❤️ 再次感谢大家的陪伴,我期待我们共同在《Java基础教程》专栏中不断成长和进步!如果你有任何问题或想要了解的主题,请随时提出,让我们一起为打造一个更加丰富和有益的学习环境而努力。
1、入门介绍篇
文章指路:
《【Java基础教程】(一)入门介绍篇 · 上:快速掌握核心概念,开启Java世界的探索之旅!这篇Java入门宝典助你翱翔~》
《【Java基础教程】(二)入门介绍篇 · 下:从JDK下载安装到第一个“Hello World!”程序,解析PATH和CLASSPATH环境变量的妙用~》
-
Java发展简史
- 诞生、发展、分支
- Java语言特征
-
Java代码执行过程
- 🔍关于编译型语言和解释性语言的区别?
- JDK下载安装及配置
- 编写并执行第一个Java程序
-
环境变量
- Path
- ClassPath
2、程序基础概念篇
文章指路:
《【Java基础教程】(三)程序概念篇 · 上:探索Java编程基础,注释、标识符、关键字、数据类型~》
《【Java基础教程】(四)程序概念篇 · 中:探索Java编程基础,解析各类运算符功能、用法及其应用场景~》
《【Java基础教程】(五)程序概念篇 · 下:夯实基础!全面解析Java程序的逻辑控制体:顺序、选择与循环结构~》
《【Java基础教程】(六)程序概念篇 · 末:全面讲解Java方法的定义及应用、方法重载及递归~》
- 注释
- 标识符
- 关键字
-
数据类型
- 🔍 什么是变量?什么是常量?
- 🔍关于数据类型转换的规则?
- 🔍关于Java的计算的缺陷
- 基础类型
- 整型
- 浮点数
- 字符型
- 🔍一些常用编码范围
- 布尔型
- 引用类型
- 字符串型
-
运算符
- 关系运算符
- 算术运算符
- 三目运算符
- 逻辑运算
- 位运算
- 🔍位运算规则
-
程序逻辑控制
- 顺序结构
- 分支结构
- if 结构
- switch 结构
- 循环结构
- while 循环
- for 循环
- 循环控制
-
方法的定义与使用
- 概念
- 🔍 什么情况下应该定义方法?
- 方法重载
- 方法递归
- 概念
3、包及访问权限篇
文章指路:
《【Java基础教程】(十七)包及访问权限篇 · 上:包的定义及导入、常用系统包概览,javac、java和jar命令的作用,package和 import关键字的应用~》
《【Java基础教程】(十八)包及访问权限篇 · 下:Java编程中的权限控制修饰符、单例设计模式 (Singleton)和多例设计模式的综合探析~》
- 包的定义、导入
- 常用系统包
- javac、java、jar 命令
-
关键字
- package
- import
-
访问控制权限
- private、default、protected、public
- 单例设计模式
-
多例设计模式
4、异常处理篇
文章指路:
《【Java基础教程】(十九)异常捕获处理篇 · 上:异常的概念及处理流程解析,try、catch、finally、throws、throw的作用,RuntimeException类介绍~》
《【Java基础教程】(二十)异常捕获处理篇 · 下:全面解析断言机制 Assertion,自定义异常 ~》
- 异常的概念
- 异常处理流程说明
- 异常处理的标准格式
-
关键字
- try、catch、finally、throws、throw
- RuntimeException类
- 自定义异常
-
断言机制 Assertion
5、特别篇
文章指路:
《【Java基础教程】特别篇:JDK发展史详解》
《【Java基础教程】特别篇:一图总结Java基础语法~》
《【Java基础教程】特别篇:面向对象合辑——掀开Java 的面向对象盖章时代,一起来发现OOP的编程秘密!~》
《【Java基础教程】特别篇:IO流合辑——这波知识归纳很细!肝了三万字,全面探索Java I\O流操作体系~》
- JDK发展历程详解
- Java基础语法合辑
- 面向对象OOP合辑
- IO流合辑
6、面向对象篇
文章指路:
《【Java基础教程】(七)面向对象篇 · 第一讲:上干货!面向对象的特性、类与对象、内存结构引用分析、垃圾收集器 GC处理、封装性详解、构造方法、匿名对象、简单 Java 类~》
《【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转置、对象数组、操作API~》
《【Java基础教程】(九)面向对象篇 · 第三讲:深入探究String类——实例化方式及其区别、字符串常量说明、享元设计模式解析、不可改变性特征以及String类的常用方法~》
《【Java基础教程】(十)面向对象篇 · 第四讲:解析Java中的this关键字,引用传递印象加强:理解与实践~》
《【Java基础教程】(十一)面向对象篇 · 第五讲:透彻讲解Java中的static关键字及代码块——静态属性、静态方法,普通代码块、构造块、静态块的使用~》
《【Java基础教程】(十二)面向对象篇 · 第六讲:深入剖析内部类:成员内部类、局部内部类、匿名内部类及静态内部类的特征,外部类及其他类访问内部类的特征~》
《【Java基础教程】(十三)面向对象篇 · 第七讲:继承性详解——继承概念及其限制,方法覆写和属性覆盖,关键字super的魔力~》
《【Java基础教程】(十四)面向对象篇 · 第八讲:多态性详解——向上及向下转型、关键字 final与 instanceof的作用~》
《【Java基础教程】(十五)面向对象篇 · 第九讲:抽象类和接口——定义、限制与应用的细节,初窥模板设计模式、工厂设计模式与代理设计模式~》
《【Java基础教程】(十六)面向对象篇 · 第十讲:解读Object类——定义、操作方法、深拷贝和浅拷贝的差异、多线程编程支持及使用场景~》
-
面向对象的三特性
- 封装性
- 继承性
- 方法覆写
- 属性覆盖
- 多态性
- 向上转型
- 向下转型
-
类与对象
- 基本概念
- 定义语法格式
- 构造方法
- 简单 Java 类
- 匿名对象
- 引用分析
- 垃圾收集器 GC
- 引用传递
- 基本概念
- 实际应用
-
数组
- 概念
- 动态及静态初始化
- 二维数组
- 数组与方法参数的传递
- 数组排序
- 数组转置
- 对象数组
- 数组操作API
-
String字符串
- 两种实例化方式及其区别
- 字符串常量
- 享元设计模式
- 不可改变性
- 常用方法
- 获取字符串长度、获取字符及索引、字符串截取、比较、判断、拆分、替换、字符串和其他类型的转换、格式化、连接、手动入池、其他操作
-
关键字解析
- this
- 调用本类属性
- 调用本类方法
- 表示当前对象
- static
- 静态属性
- 静态方法
- super
- final
- 最终类
- 最终方法
- 最终属性
- instanceof
- this
-
代码块
- 普通代码块
- 构造块
- 静态块
-
内部类
- 概念
- 优缺点
- 成员内部类
- 局部内部类
- 匿名内部类
- 静态内部类
- 外部类访问四种内部类的特点
- 其他类访问四种内部类的特点
- 内部类与外部类的关系
- 应用场景
- 内部类在并发编程中的应用
-
抽象类与接口
- 抽象类
- 定义
- 相关限制
- 应用—模板设计模式
- 接口
- 定义
- 应用—标准
- 应用—工厂设计模式
- 应用—代理设计模式
- 抽象类与接口的区别
- 抽象类
-
Object类
- 基本定义
- 使用
- equals()、hashCode()、toString()
- finalize()、getClass()、clone()
- 深拷贝和浅拷贝的区别
- wait()、notify()和 notifyAll()
- 应用场景
7、新特性篇
文章指路:
《【Java基础教程】(二十一)Java新特性篇 · 第一讲:可变参数——概念及优缺点、特征及应用场景、使用技巧、构建动态日志工具实践~》
《【Java基础教程】(二十二)Java新特性篇 · 第二讲:foreach循环——概念及优缺点、使用方式及应用场景~》
《【Java基础教程】(二十三)Java新特性篇 · 第三讲:泛型 Generics——泛型使用方式、通配符、类型擦除机制,对协变和逆变的支持 ~》
《【Java基础教程】(二十四)Java新特性篇 · 第四讲:枚举类——还在因为使用了魔法数而被老大怼吗,一起来看看枚举器的作用吧!~》
《【Java基础教程】(二十五)Java新特性篇 · 第五讲:正则表达式——概念及语法、Java操作API、使用技巧与应用场景 ~》
《【Java基础教程】(二十六)Java新特性篇 · 第六讲:注解——解码程序设计中的元数据利器,用小小的@符里做大大的开发~》
《【Java基础教程】(二十七)Java新特性篇 · 第七讲:Lambda表达式——概念及优缺点、语法结构及各类案例、应用场景与优化技巧~》
《【Java基础教程】(二十八)Java新特性篇 · 第八讲:方法引用——概念及优缺点、语法形式及使用案例、应用场景与注意事项 ~》
《【Java基础教程】(二十九)Java新特性篇 · 第九讲:函数式接口——概念及优缺点、语法形式及实战技巧、 内置函数式接口与应用场景~》
《【Java基础教程】(三十)Java新特性篇 · 第十讲: Stream流——释放流式编程的效率与优雅,狂肝万字只为透彻讲清 Stream流!~》
-
可变参数
- 概念
- 优势和缺点
- 特征
- 应用场景
- 使用
- 原理
- 使用技巧
- 可变参数结合泛型
- 使用元组或列表进行参数传递
- 使用默认值
- 缓存计算结果
- 实战:构建动态日志工具
-
foreach循环
- 概念
- 优缺点
- 使用方式
- 应用场景
-
泛型
- 概念
- 优势
- 使用
- 泛型类
- 泛型接口
- 泛型方法
- 通配符
- 无界通配符
- 上限通配符
- 下限通配符
- 类型擦除机制
- 泛型对协变和逆变的支持
- 🔍协变(covariant)和逆变(contravariant)是什么?
- 应用场景
-
枚举类
- 概念
- 优势和缺点
- 使用
- 🔍 Enum类的常用方法
- 特征
- 应用场景
-
正则表达式
- 概念
- 语法
- Java 操作API
- 匹配\查找\替换\分割
- 使用技巧
- 预编译正则表达式
- 嵌入条件表达式
- 使用零宽断言
- 应用场景
-
注解
- 概念
- 优缺点
- 使用
- 元注解
- 自定义注解
- 常用内置注解
- 应用场景
- 底层原理
- 扩展:那些流行框架中的注解
-
lambda表达式
- 概念
- 优缺点
- 语法结构
- 无参Lambda
- 带有一个参数
- 带有多个参数
- 方法引用的简化形式
- 应用场景
- 优化技巧
- 原理
-
方法引用
- 概念
- 优缺点
- 语法形式
- 案例
- 应用场景
- 注意事项
-
函数式接口
- 概念
- 优缺点
- 使用
- 函数式接口定义
- 使用技巧
- 内置函数式接口
- 应用场景
-
Stream流
- 概念及特征
- 优缺点
- 使用
- 语法
- 常用API详解
- 中间操作
- 终结操作
- 应用场景
- 使用技巧
- 并行流 ParallelStream
8、常用类库篇
文章指路:
《【Java基础教程】(三十一)常用类库篇 · 第一讲:Optional类——解锁Java的Optional操作,消灭那些隐匿的空指针,还程序世界一个安稳!~》
《【Java基础教程】(三十二)常用类库篇 · 第二讲:包装类 Wrapper Class——概念及用途, 自动装箱与拆箱,常用操作方法~》
《【Java基础教程】(三十三)常用类库篇 · 第三讲:可变字符串支持类——解析 StringBuffer与 StringBuilder类~》
《【Java基础教程】(三十四)常用类库篇 · 第四讲:Runtime类——API知识汇总分享,深入解析Runtime运行时环境访问支持类~》
《【Java基础教程】(三十五)常用类库篇 · 第五讲:System类——解析系统辅助工具System类,一个系统操作与资源管理工具类 ~》
《【Java基础教程】(三十六)常用类库篇 · 第六讲:数学运算类——全面讲解Java数学计算支持类库,BigDecimal、Math、Random、DecimalFormat…~》
《【Java基础教程】(三十七)常用类库篇 · 第七讲:日期时间处理类——三万字全面讲解 LocalDateTime和 DateTimeFormatter,Date、Calendar ~》
《【Java基础教程】(三十八)常用类库篇 · 第八讲:数组操作类——解析Arrays类中的全部操作方法,解锁Java数组操作技巧~》
《【Java基础教程】(三十九)常用类库篇 · 第九讲:比较器——Comparable和 Comparator的讲解~》
《【Java基础教程】(四十)常用类库篇 · 第十讲:反射机制——概念及优缺点、使用方式及底层原理 ~》
《【Java基础教程】(四十一)常用类库篇 · 第十一讲:国际化支持类——解析 Locale 类与 ResourceBundle 类对国际化编程的支持~》
-
Optional类
- 概念
- 优缺点
- 使用
- 常用操作API
- 使用技巧
- 应用场景
- 实现原理
-
包装类
- 概念
- 设计目的(作用)
- 使用
- 自动装箱与拆箱
- 常用方法
- 常用属性
- null和默认值
- 注意事项
-
可变字符串类
- StringBuffer类
- 概念
- 特征
- 使用
- StringBuilder类
- 概念及特征
- 使用
- String、StringBuffer和StringBuilder的对比
- StringBuffer类
-
Runtime类
- 概念
- 优缺点
- 使用
- 常用方法
- 使用技巧
- 应用场景
- 业务场景实战
- 执行外部脚本
- 动态加载类
-
System类
- 概念
- 优缺点
- 使用
- 常用方法
- 使用技巧
- 应用场景
-
数学运算类
- 概念
- 🔍 数学运算类汇总
- 优缺点
- 使用
- 各数学计算支持类使用案例
- Math类
- BigDecimal类
- Random类
- DecimalFormat类
- 应用场景
- 使用技巧
- 概念
-
日期时间处理类
- 概念
- 🔍 时间日期及处理类汇总
- 优缺点
- 使用
- 各时间日期类使用案例
- 各时间日期处理类使用案例
- Date 类
- Calendar 类
- SimpleDateFormat 类
- LocalDateTime 类
- DateTimeFormatter 类
- 使用技巧
- 应用场景
- 扩展:第三方框架中对日期时间处理的支持
- 概念
-
数组操作类
- 概念
- 优缺点
- 使用
- Arrays类常用方法
- 使用技巧
- 应用场景
-
比较器
- 比较器: Comparable
- 挽救的比较器: Comparator
- Comparable和 Comparator的区别
-
反射机制
- 概念
- 优缺点
- 使用
- Class类
- 获取类的结构信息- 构造函数
- 获取类的结构信息- 方法
- 获取类的结构信息- 字段
- 动态创建对象、调用方法和设置属性
- 动态代理
- 底层原理
- 应用场景
-
国际化支持类
- 使用 Locale 类定义语言环境
- 利用 ResourceBundle 读取资源文件
- 多资源读取
9、多线程篇
文章指路:
《【Java基础教程】(四十二)多线程篇 · 上:多进程与多线程、并发与并行的关系,多线程的实现方式、线程流转状态、常用操作方法解析~》
《【Java基础教程】(四十三)多线程篇 · 下:深入剖析Java多线程编程:同步、死锁及经典案例——生产者与消费者,探究sleep()与wait()的差异》
-
线程与进程
- 🔍关于多进程、多线程、并发与并行之间的概念关系?
-
多线程实现
- 继承 Thread 类
- 实现 Runnable 接口
- 多线程两种实现方式的区别
- 利用 Callable 接口实现
- 线程的状态
-
常用操作方法
- 线程的命名与取得
- 线程的休眠
- 线程优先级
- 线程等待
- 线程让出执行权
-
线程的同步与死锁
- 未同步存在的问题
- synchronized 同步操作
- 死锁问题
- 多线程经典案例——生产者与消费者
- 🔍分析sleep()和wait()的区别
10、IO篇
文章指路:
《【Java基础教程】(四十四)IO篇 · 上:File类、字节流与字符流,分析字节输出流、字节输入流、字符输出流和字符输入流的区别~》
《【Java基础教程】(四十五)IO篇 · 中:转换流、内存流和打印流(探索装饰设计模式与PrintStream类的进阶),文件操作案例实践、字符编码问题~》
《【Java基础教程】(四十六)IO篇 · 下:System类对IO的支持:错误输出、信息输出、系统输入,字符缓冲流、扫描流和对象序列化流~》
- 文件操作类:File
-
字节流与字符流
- 字节输出流:OutputStream
- 字节输入流:InputStream
- 字符输出流:Writer
- 字符输入流:Reader
- 字节流与字符流的区别
-
转换流
- 字节输入流转换为字符输入流:InputStreamReader
- 字节输出流转换为字符输出流:OutputStreamWriter
- 字符数组输入流:CharArrayReader
- 字符数组输出流:CharArrayWriter
- 案例:文件复制
- 字符编码问题
-
内存流
- 字节数组输入流:ByteArrayInputStream
- 字节数组输出流:ByteArrayOutputStream
-
打印流:PrintStream
- 打印流设计思想——装饰设计模式
- PrintStream类的改进
-
System类对 IO 的支持
- 系统输入:System. in
- 信息输出:System.out
- 错误输出:System.err
-
字符缓冲流
- BufferedReader
- BufferedWriter
-
对象序列化流
- 序列化接口:Serializable
- 对象序列化流:ObjectInputStream
- 对象反序列化流:ObjectOutputStream
- transient 关键字
-
扫描流:Scanner
11、网络编程篇
文章指路:
《【Java基础教程】(四十七)网络编程篇:网络通讯概念,TCP、UDP协议,Socket与ServerSocket类使用实践与应用场景~》
-
概念
- 🔍 TCP和 UDP协议
- Socket 与ServerSocket 类
- 实战——Echo 程序
-
应用场景
12、集合体系篇
文章指路:
《【Java基础教程】(四十八)集合体系篇 · 上:全面解析 Collection、List、Set常用子接口及集合元素迭代遍历方式~》
《【Java基础教程】(四十九)集合体系篇 · 下:双列集合解析——HashMap、Hashtable、LinkedHashMap、TreeMap、Properties ~》文章来源:https://www.toymoban.com/news/detail-596835.html
- 类集框架介绍
- 单列集合顶层接口Collection
-
List 子接口
- ArrayList 类
- LinkedList 类
- 🔍 数组(Array)与列表(ArrayList)有什么区别?
- Vector 类
- Stack 类
- List 各子类间的区别及联系
-
Set 子接口
- HashSet
- TreeSet
- 关于数据排序的说明
- 关于重复元素的说明
-
获取集合元素
- 迭代输出:Iterator
- 双向迭代:Listlterator
- foreach 输出
- Enumeration 输出
-
双列对象保存:Map
- HashMap 类与 Hashtable 类
- 使用 lterator 获取 Map 集合元素
- 自定义 Map 集合的 key 类型
- LinkedHashMap 类
- TreeMap 类
- Properties 类
- HashMap和 Hashtable的区别
-
Collections 工具类
13、JDBC篇
文章指路:
《【Java基础教程】(五十)JDBC篇:JDBC概念及操作步骤、主要类与接口解析、批处理与事务处理~》文章来源地址https://www.toymoban.com/news/detail-596835.html
- JDBC概念
-
连接数据库
- 主要类介绍
- 操作步骤
-
Statement 接口
- 数据更新
- 数据查询
-
PreparedStatement 接口
- Statement 接口存在的问题
- PreparedStatement操作
- 批处理与事务处理
到了这里,关于【Java基础教程】Java学习路线攻略导图——史诗级别的细粒度归纳,持续更新中 ~的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!