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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

❤️创意网页:打造简洁美观的网页轮播图(HTML简单实现轮播图)操作简单可以直接使用

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

OSPF和VLAN综合实验

目录 题目 1.IP地址的规划设计 2.搭建拓扑并进行基础IP配置 3.配置虚拟局域网 1)按子网划分要求配置PC1和PC2 检测:输入[SW1]display vlan进行检查 配置路由器R3 检测:用PC1去访问PC2 2)配置拓扑中其余路由器的网关以及回…

基于单片机心率脉搏心率血压体温血氧检测系统的设计与实现

功能介绍 本次设计通过32系列单片机STM32进行数据处理,配置引脚和JFC103传感器以及温度传感器进行数据通信。采用防水DS18B20进行腋下温度采集,通过单总线方式进行数据传输。心率血氧血压模块通过串口通信方式把采集到的数据发送给单片机,所有…

数据结构单向循环链表,创建以及增删改查的实现

一、单向循环链表的描述 循环链表:是另一种形式的链式存储结构。其特点是表中最后一个结点的指针域指向头节点,整个链表形成一个环。 单向循环链表的操作和单链表操作基本一致,差别在于:当链表遍历时,判别当前指针p是…

干货分享:商城系统开发方式

商城系统是一种为了满足电子商务需求而开发的系统,它能够实现在线购物、支付、订单管理等功能。在当今互联网时代,商城系统的开发方式多种多样。那么,商城系统开发方式有哪些呢? 1、完全独立自主开发 完全独立自主开发是指企业根…

【云原生】k8s之包管理器Helm

前言 每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器,方便我们更好的管理应用。 1.Helm的相关知识 1.1 Helm的简介与了解 Helm本质就是让K8s的应用管理&…

微服务保护——Sentinel【实战篇】

一、限流规则🍉 1.簇点链路🥝 簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。默认情况下sentinel会监控SpringMVC的每一个端点(Endpoint),因此SpringMVC的每一个端点&a…

5. MySQL - JDBC SQL 注入 博客系统(万字详解)

目录 1. 介绍 2. 使用 JDBC 连接数据库 2.1 如何使用 JDBC 连接数据库 2.2 导入的各个类 2.3 DataSource 对象的创建 2.4 从 DataSource 对象中得到 Connection 对象 2.5 创建 Statement 对象 2.6 从 ResultSet 中遍历每行结果,从每行中获取每列的值 2.7 代…

【0】冒泡排序

前言 通过函数模板技术设计一个冒泡排序算法,领悟泛型编程的思想和冒泡排序的思想,然后使用QTest测试各种输入值,养成先写测试代码,后写程序代码的习惯 0x0 编写一个int版本的冒泡函数 1.不管要排序的数组长度多长,外…

内核机制在以下方面发挥作用:

进程间通信:内核提供了特定的机制和接口,用于实现进程间的通信。这可以包括共享内存、管道、消息队列、信号量等。通过这些机制,进程可以在内核的帮助下进行数据传输和同步,实现进程间的协作和通信。 进程调度:内核负…

SpringCloud学习路线(1)—— 从头开始的微服务

一、服务架构的历史 现有的服务框架: 单体架构 概念: 将业务所有功能集中在一个项目中开发,打包部署优点: 架构简单,部署成本低缺陷: 耦合度高 分布式架构 概念: 根据业务功能对系统进行拆分&a…

如何在 Excel 中快速生成随机密码?

有时,我们可能想创建随机密码来保护某些重要内容。 但是,您有什么技巧可以在Excel中快速生成随机密码? 在这里,我有一些可以在Excel工作表中处理的方法。 用公式生成随机密码 使用插入随机数据生成随机密码​编辑 用公式生成随机…

从实体按键看 Android 车载的自定义事件机制

在汽车数字化、智能化变革的进程中,越来越多的车机设计或部分、或全部地舍弃了实体按键,进而把车主操作的入口转移到了车机 UI 以及语音助手。 但统一、高效的零层级 UI 颇为困难,语音的准确率、覆盖率亦不够完善,那么在当下的阶段…

STL源码刨析_stack _queue

目录 一. 介绍 1. stack 介绍 2. queue 介绍 二. 模拟实现 1. stack 模拟实现 2. queue 模拟实现 三. deque 1. deque 接口 2. 底层 一. 介绍 1. stack 介绍 stack(栈)是一种容器适配器,它提供了一种后进先出(LIFO&#xff0…

arcgis建筑物平均高度

主要用到相交和属性表的汇总功能。 路网 建筑物栋 相交结果 右键,bh列汇总 原始块有392,这里只有389,说明有的地块没有建筑,所以应该将表连接到原始街区上检查是否合理,以及随机验证一个结果是否正确。 连接结果&…

【SpringBoot应用篇】SpringBoot集成atomikos实现多数据源配置和分布式事务管理

【SpringBoot应用篇】SpringBoot集成atomikos实现多数据源配置和分布式事务管理 分布式事务概念XA和JTA概述SpringBoot集成atomikos数据库结构pom通用工具类RBaseControllerBaseExceptionCodeExceptionCodeBaseExceptionBaseUncheckedExceptionBizException application.yml数据…

C++初阶 - 3.类和对象(中)

目录 1.类的6个默认成员函数 2.构造函数 2.2特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1运算符重载 5.2 赋值运算符重载 5.3 前置和后置重载 6.日期类的实现 7.const成员 8.取地址及const取地址操作符重载 1.类…

为什么项目可见性难以实现?该如何提高?

在项目和专业服务管理中,失败有时难以避免。沟通不足和需求定义不明确被认为是造成失败的最大原因,这意味着项目可见性和信息流动至关重要。 什么是项目可见性? 项目可见性是组织项目相关信息的方式,以便所有团队成员、项目经理…

使用Jenkins自由风格的软件项目实现接口自动化测试持续集成

这里写目录标题 一、JOB项目配置1、添加描述2、限制项目的运行节点3、源码管理4、构建触发器5、构建步骤6、构建后操作 一、JOB项目配置 1、添加描述 可选选项可填可不填 2、限制项目的运行节点 节点中要有运行环境所需的配置 节点配置教程:https://blog.csdn…

Go语言之并发编程练习,GO协程初识,互斥锁,管道:channel的读写操作,生产者消费者

GO协程初识 package mainimport ("fmt""sync""time" )func read() {defer wg.Done()fmt.Println("read start")time.Sleep(time.Second * 3)fmt.Println("read end") }func listenMusci() {defer wg.Done()fmt.Println(&qu…