【Java基础教程】Java学习路线攻略导图——史诗级别的细粒度归纳 ~

Java学习路线攻略

前言

🍺🍺 各位读者朋友大家好!得益于各位朋友的支持和关注,我的专栏《Java基础教程》 至今已经更新完毕,我们一起探索了Java语言的许多核心概念和重要特性。在过去的文章中,我们一共涉及了入门知识介绍、编程基础概念、面向对象OOP、包及访问控制权限、异常处理篇、新特性篇、常用类库篇、多线程篇、IO流篇、网络编程篇、集合体系篇、JDBC篇以及特别篇一共十三个篇章,详细阐述了Java基础概念、语言特征、关键字、各类运算、抽象类、接口、包、权限、异常处理、新语法特性、常用类API、多线程编程、IO输入输出流处理、集合体系类继承关系及各常用类特征、JDBC连接步骤等多个主题知识。

我们深入研究了抽象类和接口,这些概念为面向对象编程提供了强大的工具,并且介绍了它们的定义、应用场景以及与模板设计模式、工厂设计模式和代理设计模式的关系。对于包的定义和导入机制,我们掌握了合理的组织代码的技巧,加深了对常用系统包和命令的理解。

同时,我们也学习了异常处理的方法,包括使用 try-catch-finally 机制、throwsthrow 关键字,以及标准的异常处理格式。我们还认识到了 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
  • 代码块
    • 普通代码块
    • 构造块
    • 静态块
  • 内部类
    • 概念
    • 优缺点
    • 成员内部类
    • 局部内部类
    • 匿名内部类
    • 静态内部类
    • 外部类访问四种内部类的特点
    • 其他类访问四种内部类的特点
    • 内部类与外部类的关系
    • 应用场景
    • 内部类在并发编程中的应用
  • 抽象类与接口
    • 抽象类
      • 定义
      • 相关限制
      • 应用—模板设计模式
    • 接口
      • 定义
      • 应用—标准
      • 应用—工厂设计模式
      • 应用—代理设计模式
    • 抽象类与接口的区别
  • 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的对比
  • 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 ~》

  • 类集框架介绍
  • 单列集合顶层接口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概念及操作步骤、主要类与接口解析、批处理与事务处理~》

  • JDBC概念
  • 连接数据库
    • 主要类介绍
    • 操作步骤
  • Statement 接口
    • 数据更新
    • 数据查询
  • PreparedStatement 接口
    • Statement 接口存在的问题
    • PreparedStatement操作
  • 批处理与事务处理
【Java基础教程】Java学习路线攻略导图——史诗级别的细粒度归纳 ~

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年8月15日
下一篇 2023年8月15日

相关推荐