前言
写这篇文章目的,就是列出了一个Java的路线图,带刚开始学习Java或需要复习Java的朋友进行系统的学习。
整个体系分为5个阶段:Java基础、Java进阶、JavaWeb、Java框架、分布式,通过这5个阶段的学习,大家能掌握到目前互联网企业所需要的主流技术点。
每个课程后面都有我的博文地址,内容会持续更新,争取完成一个完整的体系。
学习方法方面给初学朋友的建议就是:
1、坚持,Java的知识点多,而且是一个体系,必须一步一步坚持下去
2、思考,每个知识点除了知道怎么用,还需要思考不用行不行、有没有其他办法、实现的原理等
3、练习,学习编程就是多敲代码,每篇博文都有案例、练习和作业,多动手学习起来才有效果
第一阶段 Java基础 | |||
| 序号 | 课程名称 | 内容简介 | 博客地址 |
| 1 | Java的安装和配置 | Java语言介绍 | Java基础01 Java的安装和配置_恒哥~Bingo的博客-CSDN博客 |
| JDK安装 | |||
| 环境变量配置 | |||
| HelloWorld | |||
| Java编译执行过程 | |||
| Eclipse的使用 | |||
| 2 | 变量、标识符和类型转换 | Java标识符的规则和规范 | Java基础02 变量、标识符和类型转换_恒哥~Bingo的博客-CSDN博客 |
| Java的关键字 | |||
| 变量的定义和使用 | |||
| 变量的数据类型 | |||
| 自动类型转换 | |||
| 强制类型转换 | |||
| Scanner输入 | |||
| 3 | Java的运算符 | 赋值运算符 | Java基础03 Java的运算符_恒哥~Bingo的博客-CSDN博客 |
| 算术运算符 | |||
| 关系运算符 | |||
| 逻辑运算符 | |||
| 三元运算符 | |||
| 4 | 分支语句 | 基本的 if | Java基础04 分支语句_恒哥~Bingo的博客-CSDN博客 |
| if-else | |||
| 多重if | |||
| 嵌套if | |||
| switch | |||
| 5 | 循环结构 | for | Java基础05 循环结构_恒哥~Bingo的博客-CSDN博客 |
| while | |||
| do-while | |||
| break和continue | |||
| 嵌套循环 | |||
| 6 | 数组基础 | 数组简介 | Java基础06 数组基础_恒哥~Bingo的博客-CSDN博客 |
| 数组的定义 | |||
| 数组的初始化 | |||
| foreach循环 | |||
| Arrays工具 | |||
| 二维数组的使用 | |||
| 7 | 数组算法 | 求最大值 | Java基础07 数组算法(顺序查找、冒泡排序、选择排序、二分查找)_恒哥~Bingo的博客-CSDN博客 |
| 顺序查找 | |||
| 冒泡排序 | |||
| 选择排序 | |||
| 二分查找 | |||
| 8 | 方法 | 方法的概述 | Java基础08 方法_调用有参方法时传入的值可以为cloud_恒哥~Bingo的博客-CSDN博客 |
| 无参的方法 | |||
| 有参的方法 | |||
| 基本类型和引用类型参数的区别 | |||
| 方法的重载 | |||
| 带返回值的方法 | |||
| 可变参数 | |||
| 9 | 面向对象~类和对象 | 面向对象的概念 | Java基础09 面向对象~类和对象_恒哥~Bingo的博客-CSDN博客 |
| 类和对象的概念 | |||
| 面向对象编程 | |||
| 属性和方法 | |||
| 构造方法 | |||
| this关键字 | |||
| 面向对象的内存分配 | |||
| 10 | 面向对象~封装 | 封装的概念 | Java基础10 面向对象~封装_恒哥~Bingo的博客-CSDN博客 |
| 访问修饰符 | |||
| getter和setter方法 | |||
| 包 | |||
| 对象之间的通信 | |||
| 11 | 面向对象~继承 | 继承的相关概念 | Java基础11 面向对象~继承_恒哥~Bingo的博客-CSDN博客 |
| super关键字 | |||
| 继承中的构造方法 | |||
| final关键字 | |||
| 抽象类 | |||
| 12 | 面向对象~多态 | 什么是多态 | Java基础12 面向对象~多态_恒哥~Bingo的博客-CSDN博客 |
| 多态的作用 | |||
| 如何实现多态 | |||
| Object类 | |||
| equals和==的区别 | |||
| 向上向下转型 | |||
| instanceof运算符 | |||
| 13 | 面向对象~static关键字和单例模式 | 静态属性 | Java基础13 面向对象~static关键字和单例模式_恒哥~Bingo的博客-CSDN博客 |
| 静态属性内存分析 | |||
| 静态方法 | |||
| 静态常量 | |||
| 静态导入 | |||
| 单例模式 | |||
| 14 | 面向对象~接口和内部类 | 接口是什么 | Java基础14 面向对象~接口和内部类_恒哥~Bingo的博客-CSDN博客 |
| 接口的作用 | |||
| 接口的使用 | |||
| 接口和抽象类的区别 | |||
| 静态内部类 | |||
| 成员内部类 | |||
| 局部内部类 | |||
| 匿名内部类 | |||
| 15 | Java常用类 | String类 | Java基础15 Java常用类_恒哥~Bingo的博客-CSDN博客 |
| StringBuffer类和StringBuilder类 | |||
| 包装类 | |||
| 日期相关API | |||
| Math类 | |||
| Random类 | |||
|
Runtime类
| |||
|
System类
| |||
| 16 | 集合 | 集合框架体系介绍 | Java基础16 集合(ArrayList、LinkedList、HashSet、HashMap)_恒哥~Bingo的博客-CSDN博客 |
|
集合和数组的区别
| |||
|
Collection接口
| |||
|
List、Set、Map接口
| |||
|
ArrayList集合,数据结构和源码分析
| |||
|
LinkedList集合,数据结构和源码分析
| |||
|
HashMap集合,数据结构和源码分析
| |||
| 17 | 集合 | Collections类 | Java基础17 集合(排序和迭代,Lambda表达式)_集合的sorted和foreach_恒哥~Bingo的博客-CSDN博客 |
|
Comparable接口
| |||
|
Comparator接口
| |||
|
Lambda表达式
| |||
| 18 | 异常 | Java的异常体系 | Java基础18 异常_异常哥后面是什么_恒哥~Bingo的博客-CSDN博客 |
| 异常的概念及分类 | |||
| try-catch的基本用法 | |||
| 多重catch的用法 | |||
| finally的基本用法 | |||
| finally和return执行顺序 | |||
| throw、throws的基本用法 | |||
| 自定义异常 | |||
| 19 | IO |
IO流的分类及体系结构
| Java基础19 IO基础_恒哥~Bingo的博客-CSDN博客 |
|
字节输入流
| |||
|
字节输出流
| |||
|
try with resource
| |||
| 字节缓冲流 | |||
|
打印流
| |||
|
字符流
| |||
|
字符缓冲流
| |||
| 数据流 | |||
|
装饰设计模式
| Java基础20 装饰者模式_恒哥~Bingo的博客-CSDN博客 | ||
|
序列化
| Java基础21 序列化和反序列化_恒哥~Bingo的博客-CSDN博客 | ||
| 20 | 网络编程 | 网络编程相关概念 | Java基础22 网络编程(HTTP和UDP)_恒哥~Bingo的博客-CSDN博客 |
| HTTP协议 | |||
| HTTP网络编程 | |||
| TCP/IP协议 | Java基础23 Socket手撸应用服务器_恒哥~Bingo的博客-CSDN博客 | ||
| UDP协议 | |||
| Socket编程 | |||
| UDP编程 | |||
| 21 | JVM | JVM内存模型 | JVM优化入门_恒哥~Bingo的博客-CSDN博客 |
| GC机制 | |||
| 堆分代 | |||
| JVM优化 | |||
| 类加载机制 | |||
| 21 | 项目实战:亿度云盘v1 | C/S架构,客户端和服务器端通过网络通信,实现文件查询、上传、下载和删除功能 | https://edu.csdn.net/course/detail/31782 |
第五阶段 分布式 | |||
| 序号 | 课程名称 | 内容简介 | 博客地址 |
| 1 | SpringCloud Eureka | 为什么使用微服务 | |
|
为什么使用注册中心
| |||
|
Eureka注册中心使用
| |||
|
Eureka的自我保护机制
| |||
|
Eureka的安全配置
| |||
|
Eureka的集群配置
| |||
| 2 | SpringCloud Ribbon | 负载均衡 | |
|
服务器端负载均衡和客户端负载均衡
| |||
|
Ribbon负载均衡策略
| |||
|
RestTemplate的用法
| |||
| 3 | SpringCloud Hystrix | 服务可用性 | |
|
服务雪崩问题
| |||
|
Hystrix的使用
| |||
|
Hystrix的隔离模式
| |||
| 4 | SpringCloud Feign | Feign是什么 | |
|
Feign怎么用
| |||
|
Feign处理各种参数
| |||
|
Feign原理
| |||
|
Feign优化
| |||
| 5 | SpringCloud Zuul | 服务网关的作用 | |
|
Zuul介绍
| |||
|
Zuul的基本使用
| |||
|
Zuul的路由规则
| |||
|
Zuul的过滤器
| |||
|
Zuul限流
| |||
|
Zuul超时优化
| |||
| 6 | SpringCloud Config | Config的介绍 | |
|
Config的基本使用
| |||
|
动态更新配置
| |||
| 7 | Elasticsearch | Elasticsearch介绍 | Elasticsearch的安装和基本使用_恒哥~Bingo的博客-CSDN博客 |
| Elasticsearch的安装 | |||
| Kibana安装 | |||
| 安装分词器 | |||
| SprngBoot整合Elasticsearch | SpringBoot整合Elasticsearch_恒哥~Bingo的博客-CSDN博客 | ||
| ElasticsearchRepository操作索引 | |||
| 查询操作 | |||
| 8 | RabbitMQ | 消息队列是什么 | RabbitMQ的安装_恒哥~Bingo的博客-CSDN博客 |
| 消息队列的作用 | |||
| 主流的消息队列 | |||
| RabbitMQ的安装 | |||
| RabbitMQ的几种消息队列模式 | RabbitMQ的五种消息队列_queueingconsumer_恒哥~Bingo的博客-CSDN博客 | ||
| SpringBoot整合RabbitMQ | SpringBoot整合RabbitMQ实现数据同步_rabbitmq exchange 同步_恒哥~Bingo的博客-CSDN博客 | ||
| 9 | Redis | Redis简介 | Redis入门HelloWorld_恒哥~Bingo的博客-CSDN博客 |
|
Redis安装和使用
| |||
|
Redis的数据类型
| |||
|
SpringBoot整合Redis
| SpringBoot整合Redis实现声明式缓存_恒哥~Bingo的博客-CSDN博客 | ||
|
声明式缓存
| |||
| 事务 | Redis事务+分布式锁+持久化策略+淘汰策略_分布式锁效率和乐观锁比较_恒哥~Bingo的博客-CSDN博客 | ||
| 分布式锁 | |||
| 淘汰策略 | |||
| 持久化策略 | |||
| 10 | 微信支付 | 支付流程 | 微信支付的实现_微信支付实现_恒哥~Bingo的博客-CSDN博客 |
|
实现微信支付接入
| |||
| 微信平台通知后台 | |||
| 11 | JWT单点登录 | RSA加密算法 | JWT单点登录_恒哥~Bingo的博客-CSDN博客 |
| JWT | |||
| 单点登录实现流程 | |||
| 解决cookie写入失败的问题 | |||
| 12 | SpringCloud Alibaba | Nacos 服务注册与发现 | SpringCloud Alibaba 入坑(一)Nacos 服务注册与发现_恒哥~Bingo的博客-CSDN博客 |
| Nacos 配置中心 | SpringCloud Alibaba 入坑(二)Nacos 配置中心_恒哥~Bingo的博客-CSDN博客 | ||
| Sentinel入门 | SpringCloud Alibaba 入坑(三)Sentinel入门_恒哥~Bingo的博客-CSDN博客 | ||
| Sentinel基本流控规则 | SpringCloud Alibaba 入坑(四)Sentinel基本流控规则_恒哥~Bingo的博客-CSDN博客 | ||
| Sentinel高级流控规则 | SpringCloud Alibaba 入坑(五)Sentinel高级流控规则_恒哥~Bingo的博客-CSDN博客 | ||
| @SentinelResource注解 | SpringCloud Alibaba 入坑(六)@SentinelResource注解_恒哥~Bingo的博客-CSDN博客 | ||
| 分布式事务Seata | SpringCloud Alibaba(七)Seata 分布式事务_恒哥~Bingo的博客-CSDN博客 | ||
| 13 | ShardingSphere分库分表 | 四种分库分表策略 | 使用Sharding-JDBC实现分库分表_恒哥~Bingo的博客-CSDN博客 |
| 水平分库 | |||
| 水平分表 | |||
| 公共表 | |||
| 读写分离 | |||
| 15 | 面试题 | Java经典面试题汇总200道_恒哥~Bingo的博客-CSDN博客 | |
25万+

被折叠的 条评论
为什么被折叠?



