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

news2024/11/25 0:48:10

Java学习路线攻略导图 · 上篇

    • 前言
    • 1、入门介绍篇
    • 2、程序基础概念篇
    • 3、包及访问权限篇
    • 4、异常处理篇
    • 5、特别篇
    • 6、面向对象篇
    • 7、新特性篇
    • 8、常用类库篇

前言

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

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

同时,我们也学习了异常处理的方法,包括使用 try-catch-finally 机制、throws 和 throw 关键字,以及标准的异常处理格式。我们还认识到了RuntimeException类的特殊性以及断言机制的作用,在编写拥有良好健壮性的代码方面受益匪浅。

…(此处省去一亿字)

总之,我想借此机会感谢每一位读者朋友对《Java基础教程》专栏的大力支持和反馈,你们的鼓励是我不断前进的动力。未来的篇章中,我们将继续深入探索Java语言的其他核心特性,如集合框架、多线程编程、IO操作等等。

❤️❤️ 再次感谢大家的陪伴,我期待我们共同在《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的编程秘密!~》

  • JDK发展历程详解
  • Java基础语法合辑
  • 面向对象OOP合辑

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 读取资源文件
    • 多资源读取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/775617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实战项目——物流行业数据分析(二)

今天我们对物流行业数据进行简单分析,数据来源:某企业销售的6种商品所对应的送货及用户反馈数据 解决问题: 1、配送服务是否存在问题 2、是否存在尚有潜力的销售区域 3、商品是否存在质量问题 分析过程: 依旧先进行数据处理 一…

vue Duplicate keys detected: ‘‘. This may cause an update error. found in

错误原因: 在使用v-for的时候,都要必须加上一个唯一的key值,key的值写成一样的了。所以就导致了警告。尽量不要使用index下标作为key值 换成后台数据返回的id或者i*随机数作为key值就好

linux中快速定位软件安装位置

linux中快速定位软件安装位置步骤如下: 根据进程的名字定位进程ID ps -ef | grep redis通过进程id查找软件安装位置 ll -l /proc/100788/cwd原理说明: linux中进程启动后,会在/proc/目录下新建进程工作目录; 目录规范为:/proc/…

寻找下一个生成式 AI 独角兽,亚马逊云科技创业加速器火热招募中!

生成式AI让人工智能技术又一次破圈,带来了机器学习被大规模采用的历史转折点。它正在掀起新一轮的科技革命,为人类带来前所未有的颠覆性的影响,而诸多创业者也应势而上,寻求创新机遇。生成式AI可以创造全新的客户体验、提高企业内…

将数字孪生系统接入 CesiumJS,能为智慧城市项目带来怎样的改变?

数字孪生系统接入 CesiumJS 的契机,正是智慧城市项目的需要。因为许多智慧城市项目中包含了大量地形、倾斜摄影、DOM、DEM 等 GIS 数据,那么为了能够在数字孪生系统中导入这些 GIS 数据,同时让这些数据在以可视化形式表现出来后,还…

C++-17. 电话号码的字母组合

题目来源:力扣 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输…

【MySQL】数据不存在则插入

系列文章 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179216 C#底层库–MySQL数据库操作辅助类(推荐阅读&#xff0…

全面认识二极管,一篇文章就够了

电子设计基础元器件 二极管,小小二极管,大大用途。 ... 矜辰所致目录 前言一、二极管基础知识1.1 什么是二极管1.2 二极管的组成1.3 二极管的原理 二、二极管特性2.1 伏安特性曲线图2.2 温度的影响2.3 关于击穿 三、 二极管的参数正向连续电流和平均整…

银行金融风险管理面试问题汇总(附答案)

最近有些学员在咨询换工作的事,包括一些金融上市公司的高管。我收集了一些金融风险管理面试问题相关资料,希望能帮助大家。记得收藏此文章,以防之后找不到文章。 风险经理识别和分析潜在的公司风险,并找到减少或避免风险的方法。…

pve (群辉、软路由、win/linux)折腾日记

目录 生命不息,折腾不止名词解释硬件参数装机PVE安装下载pveultraISO 把镜像写入u盘rufus把镜像写入U盘bios设置U盘启动安装pve系统 ssh连接pvepve的使用安装pvetools安装ubuntu-server系统ubuntu更换国内源ubuntu安装docker更改docker国内源docker环境下安装青龙 安…

了解 MySQL 的存储引擎

点击上方↑“追梦 Java”关注,一起追梦! 存储引擎的主要工作就是与文件系统进行数据交互,比如我们常用的 InnoDB 引擎。 MySQL 的存储引擎是插件式的,应用程序无需针对不同的存储引擎进行对应的编码操作,MySQL 提供了一…

什么是布道师?看完这篇文章你就懂了

布道师这个术语可能对许多人来说还比较陌生,但实际上,布道师在软件行业中扮演着非常重要的角色。他们是软件产品的积极倡导者和用户之间的桥梁,致力于传递好消息、收集反馈,并与用户建立良好的关系。在本文中,我们将深…

Linux —— 查看进程命令及进程优先级

目录 一,查看进程命令 1,ps 命令 ps axj ps aux ps l ps -l 2,top 命令 3,ptree 命令 4,pgrep 命令 三,进程优先级 PRI NI 一,查看进程命令 ps、top、pstree、grep; 1&…

腾讯云 Finops Crane 开发者集训营 - 云成本优化一站式解决方案实践

一、 相关活动介绍: 自从上次参加完CSDN联合腾讯云发起的《云原生之降本增效》活动后,只是停留聚焦在优秀实践方法论、资源与弹性、架构设计上的了解,本次《腾讯云 Finops Crane 开发者集训营》是深入了解并实践基于 FinOps 框架开展的一个成…

001-Spring简要原理分析

Bean的生产 class到beanDefinition beanDefinition到Bean Bean查找流程 根据类型找找到多个根据名称找 AOP 在实例化后创建代理对象返回 把之前创建的Bean塞入代理对象的 target 字段中 事务 利用AOP代理掉数据源 在提交事务的时候 关闭自动提交手动提交事务异常回滚事…

【力扣算法16】之 18. 四数之和 python

文章目录 问题描述示例1示例2提示 思路分析代码分析完整代码详细分析运行效果截图调用示例运行结果 完结 问题描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[…

MySQL Schema 比较同步工具汇总(2023 版)

数据库 schema 比较工具使你能够识别关系数据库中对象结构的差异,并在多个数据库中同步你的特定对象。它通常用于以下情况: 将数据库变更从私有分支合并到团队的主分支在同构数据库中保持 schema 一致性构建新的数据库测试环境根据应用需求将数据库 sch…

与国外客户会面后,一些用语整理

与客户进行了会面,当客户离开工厂,我们需要对讨论过的内容进行整理并发邮件给客户,这里会用到一些客套语,今天分享部分给大家参考! Well received and thank you for the update, will be sure to take note on those…

利用 DNSLog无回显注入

DNSLog概念 DNSLog(域名系统日志)是一种特殊的技术和服务,用于捕获和记录通过域名系统(DNS)协议进行的请求和响应。它的目的是帮助用户跟踪、分析和管理DNS流量,并收集与域名相关的信息。 基本上&#xf…

JDBC 异常处理(SQLException)

异常处理允许您以受控的方式处理异常情况,例如程序定义的错误。 发生异常情况时,将引发异常。抛出这个词意味着当前程序停止执行,并且控件被重定向到最接近的适用catch子句。如果不存在适用的catch子句,则程序的执行结束。 JDBC…