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

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.mzph.cn/news/2484.shtml

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

相关文章

【Linux后端服务器开发】UDP协议

目录 一、端口号 二、UDP报头格式 三、UDP的特点 四、UDP协议实现网络聊天群 一、端口号 端口号port标识了一个主机上进行通信的不同的应用程序。 0 ~ 1023:系统端口号,HTTP、FTP、SSH等这些广为使用的应用层协议,它们的端口号都是固定…

Qt中QMainWindow的相关介绍

目录 菜单栏 工具栏 状态栏: 停靠窗口: QMainWindow 是标准基础窗口中结构最复杂的窗口,其组成如下: 提供了菜单栏 , 工具栏 , 状态栏 , 停靠窗口 菜单栏:只能有一个,位于窗口的最上方 工具栏:可以有多…

AI制图工具丨Midjourney产品功能介绍

了解如何使用Discord上的Midjourney Bot通过简单的文本提示创建自定义图像 Midjourney是一款AI制图工具,只要关键字,就能透过AI算法生成相对应的图片,只需要不到一分钟。 可以选择不同画家的艺术风格,例如安迪华荷、达芬奇、达利…

基于单片机水质检测系统的设计与实现

功能介绍 以STM32单片机作为主控系统;液晶显示当前参数;PH模块采集当前水质PH酸碱度;DS18B20温度传感器采集当前水体温度;TDS传感器采集当前水体TDS值;浊度传感器采集当前水体浑浊度;按键设置PH、温度、TDS…

Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘

1、集群环境及问题描述 集群版本:6.8.X集群节点:5节点(三个节点为主数据节点,另外两个独立数据节点)。问题描述:由于IP冲突,修改了一台服务器的IP,然后5台配置改了一下一次重启&…

Kafka 深度剖析

1、应用场景 1.1 kafka场景 Kafka最初是由LinkedIn公司采用Scala语言开发,基于ZooKeeper,现在已经捐献给了Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以 高吞吐、可持久化、可水平扩展、支持流处理等多种特性而被广泛应用…

flask基本用法小白教程+按钮跳转到指定页面+python和pip安装(后附)

一、flask学习教程: 1.1 基本程序: 大家可以在pycharm中复制如下代码,先感受一下flask的基本用法: 点击链接可进入浏览器查看程序运行的结果,在127.0.0.1:5000后面添上/test1/等设定的文字,可查看不同函…

基于单片机的蓝牙音乐喷泉的设计与实现

功能介绍 以51单片机作为主控系统;通过HM-18蓝牙音频模块进行无线传输; 通过LM386功放模块对音频信号进行放大;手机端可以直接控制音频播放,并且最远距离可达20米;手机端可以进行任意音乐切换,播报、暂停&a…

微信小程序中常见组件的使用

文章目录 微信小程序中常见组件的使用视图组件viewscroll-viewswipermovable-area 基础组件icontextrich-textprogress 表单组件buttoncheckbox、checkbox-grouplabelforminputpicker单列选择器多列选择器时间选择器&日期选择器&地区选择器 picker-viewradiosliderswit…

MySQL数据备份与恢复

目录 ​编辑 一、数据备份 1.1物理备份 1.1.1冷备份 1.1.2热备份 1.1.3温备份 二、逻辑分区 2.1完全分区 2.2差异分区 2.3增量备份 三、数据备份恢复实验 3.1做一个数据 3.2物理冷备份与恢复 3.3mysqldump 备份与恢复(温备份) 3.4Mysql数据…

采集极验4滑块验证码图片数据

在网络安全领域,验证码是一种常见的用于验证用户身份或防止恶意机器人攻击的技术。而极验4滑块验证码作为一种广泛应用的验证码形式,其具有较高的安全性和防御能力。本文将以获取极验4滑块验证码图片数据为主题,介绍相关技术和方法。 一、极…

redis 相关

redis相关面试题 redis支持哪几种数据形式? String,hash,set,zset,list redis主要消费什么物理资源? 内存,key-value的形式, redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严…

MySQL常用语句

目录 连接MySQL 数据库操作 表的操作 数据操作 进阶查询 源码等资料获取方法 连接MySQL -- 语法:mysql -u用户名 -p密码 注:--空格 起到注释的作用 mysql -uroot -p123456 数据库操作 -- 显示当前时间、用户名、数据库版本(可以单独…

MATLAB 之 可视化图形用户界面设计

这里写目录标题 一、可视化图形用户界面设计1. 图形用户界面设计窗口1.1 图形用户界面设计模板1.2 图形用户界面设计窗口 2. 可视化图形用户界面设计工具1.1 对象属性检查器2.2 菜单编辑器2.3 工具栏编辑器2.4 对齐对象工具2.5 对象浏览器2.6 Tab 键顺序编辑器 3. 可视化图形用…

hibernate入门,springboot整合hibernate

Mybatis和Hibernate是我们常用的两大ORM框架,这篇文章主要介绍hibernate的使用,如何通过springboot整合hibernate,实现简单的crud功能。 添加依赖 首先,需要创建一个springboot项目,这里就取名为hibernate。项目创建完…

【Visual Studio Code】---自定义键盘快捷键设置

概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 一、进入键盘快捷键设置 1、进入键盘快捷键设置方法1 使用快捷键进入键盘快捷键设置先按 Ctrl K再…

怎么做活码二维码?动态码在线生成技巧

现在制作二维码用户大多习惯使用活码二维码,其优势在于能够在二维码不变的情况下修改内容,能够生成二维码长期使用,还可以设置有效期、加密等其他功能可以使用。那么怎么生成活码二维码呢?可以使用二维码生成器(免费在…

leetcode 445. Add Two Numbers II(两数相加)

用链表代表2个数字,这2个数字相加的和用链表返回。 最高位在链表的head. 思路: 1.链表逆序 数字相加是从低位到高位的,然而链表中的数字是从高位指向低位。 所以涉及到链表的逆序。 逆序之后只需从head到tail把两个链表的数字相加&#x…

克服 ClickHouse 运维难题:ByteHouse 水平扩容功能上线

前言 对于分析型数据库产品,通过增加服务节点实现集群水平扩容,并提升集群性能和容量,是运维的必要手段。 但是对于熟悉 ClickHouse 的工程师而言,听到“扩容”二字一定会头疼不已。开源 ClickHouse 的 MPP 架构导致扩容成本高&…

C++图形开发(16):绘制一个圆环和一根针

文章目录 绘制一个圆环和一根针1.1 绘制1.2 line()函数1.3 circle()函数1.4 setlinestyle()函数1.5 setlinecolor()函数 接下来,我会继续制作一些小游戏,但因为整个难度的上升(毕竟我也是初学者),可能文章不会再像之前…