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