【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。

 本文是“Java学习路线”专栏的导航文章,目标是为Java工程师提供一套完整的Java学习路线

目录

0.摘要/资料/代码整理

1.Java基础+进阶+高级

2.MySQL,JavaWeb,Mybatis,前端

3.Git

4.SSM(Spring,SpringMVC,Mybatis)框架

5.Maven高级

6.SpringBoot,MybatisPlus,JPA框架

7.瑞吉外卖、Redis、Nginx、Linux、mysql主从复制

8.SpringCloud、Docker、ES、黑马旅游、MQ、Redis集群、多级缓存

9.谷粒商城

10.学成在线

11.面试题汇总

12.MySQL高级篇

13.设计模式

14.JVM原理

15.编程规范

16.性能调优、架构设计、技术进阶

17.底层源码


0.摘要/资料/代码整理

Java 学习路线(参考视频教程):

黑马程序员2023最新Java学习路线图 - 哔哩哔哩

尚硅谷2023最新Java学习路线 - 哔哩哔哩

部分项目源码:

https://wwmg.lanzouk.com/b04q61nof

密码:foqf

博客下载地址:

https://github.com/vincewm/java-learning-path

1.Java基础+进阶+高级

【Java笔记+踩坑】Java基础篇(2024版)——环境准备+Java语法+面对对象+常用类

【Java笔记+踩坑】Java进阶篇(2024版)——异常+集合+泛型+JDK8新特性+IO流

【Java笔记+踩坑】Java高级篇(2024版)——多线程+锁+反射

【Java笔记+踩坑】Java基础+进阶(2022版)

2.MySQL,JavaWeb,Mybatis,前端

【Java笔记+踩坑】JavaWeb基础1——MySQL

【Java笔记+踩坑】JavaWeb基础2——JDBC

【Java笔记+踩坑】JavaWeb基础3——Maven&MyBatis

【Java笔记+踩坑】JavaWeb基础4——HTML,JavaScript&CSS

【Java笔记+踩坑】JavaWeb基础5——HTTP&Tomcat&Servlet

【Java笔记+踩坑】JavaWeb基础6——Request,Response,JSP&MVC

【Java笔记+踩坑】JavaWeb基础7——会话技术

【Java笔记+踩坑】JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON

【Java笔记+踩坑】JavaWeb基础9——VUE&Element&整合Javaweb的商品管理系统

3.Git

【Java笔记+踩坑】Git,GitHub,Gitee&IDEA集成Git

4.SSM(Spring,SpringMVC,Mybatis)框架

【Java笔记+踩坑】Spring基础1——概念、IOC和DI的配置开发

【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit

【Java笔记+踩坑】Spring基础3——AOP,事务管理

【Java笔记+踩坑】SpringMVC基础

【Java笔记+踩坑】SSM整合

5.Maven高级

【Java笔记+踩坑】Maven高级

6.SpringBoot,MybatisPlus,JPA框架

【Java笔记+踩坑】SpringBoot基础1——基础

【Java笔记+踩坑】MyBatisPlus基础

【Java笔记+踩坑】SpringBoot增删改查:Spring Data JPA

【Java笔记+踩坑】SpringBoot基础2——运维实用

【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控

【Java笔记+踩坑】SpringBoot基础4——原理篇

7.瑞吉外卖、Redis、Nginx、Linux、mysql主从复制

【Java笔记+踩坑】瑞吉外卖项目笔记+踩坑1——基础功能

【Java笔记+踩坑】Redis基础

【Java笔记+踩坑】Linux基础

【Java笔记+踩坑】Linux的20个常用命令

【Java笔记+踩坑】Nginx基础

【尚硅谷Java笔记+踩坑】Git,GitHub,Gitee&IDEA集成Git

【Java笔记+踩坑】MySQL主从复制实现读写分离

【Java笔记+踩坑】瑞吉外卖项目笔记+踩坑2——缓存、读写分离优化

8.SpringCloud、Docker、ES、黑马旅游、MQ、Redis集群、多级缓存

【Java笔记+踩坑】SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡

【Java笔记+踩坑】SpringCloud基础2——Nacos配置、Feign、Gateway

【Java笔记+踩坑】SpringCloud基础3——Docker

【Java笔记+踩坑】SpringCloud基础4——RabbitMQ和SpringAMQP

【Java笔记+踩坑】ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入

【Java笔记+踩坑】ElasticSearch基础2——DSL查询文档,黑马旅游案例基础功能

【Java笔记+踩坑】ElasticSearch基础3——聚合、补全、集群。黑马旅游检索高亮+自定义分词器+自动补全+前后端消息同步

【Java笔记+踩坑】SpringCloud基础5——微服务保护、Sentinel

【Java笔记+踩坑】SpringCloud基础6——分布式事务,Seata

【Java笔记+踩坑】SpringCloud基础7——Redis分布式缓存

【Java笔记+踩坑】SpringCloud基础8——多级缓存

【Java笔记+踩坑】SpringCloud基础9——服务异步通信-高级篇

9.谷粒商城

谷粒商城笔记+踩坑汇总篇

10.学成在线

学成在线笔记+踩坑(0)——面试问题

学成在线笔记+踩坑(1)——项目思路、架构、父工程和基础工程,Gogs使用

学成在线笔记+踩坑(2)——【内容模块】课程基础查询,swagger+数据库字典+Httpclient+跨域

学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验

学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO

学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传

学成在线笔记+踩坑(6)——【媒资模块】视频处理。FFmpeg,XXL-JOB

学成在线笔记+踩坑(7)——绑定媒资

学成在线笔记+踩坑(8)——课程预览、提交审核,Freemarker模板引擎

学成在线笔记+踩坑(9)——课程发布,XXL-JOB+消息SDK实现分布式事务、页面静态化、Hystrix熔断降级

学成在线笔记+踩坑(10)——课程搜索、课程发布时同步ES索引库

学成在线笔记+踩坑(11)——认证授权介绍、网关认证,SpringSecurity+JWT+OAuth2

学成在线笔记+踩坑(12)——用户认证

学成在线笔记+踩坑(13)——选课

11.面试题汇总

【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)

【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)

【Java面试题汇总】多线程、JUC、锁篇(2023版)

【Java面试题汇总】JVM篇(2023版)

【Java面试题汇总】Spring篇(2023版)  

【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)

【Java面试题汇总】微服务和中间件篇(2023版)

【Java面试题汇总】ElasticSearch篇(2023版)

【Java面试题汇总】Redis篇(2023版)

【Java面试题汇总】MySQL数据库篇(2023版)

【Java面试题汇总】RabbitMQ篇(2023版)

【Java面试题汇总】设计模式篇(2023版)

【Java面试题汇总】架构篇、场景篇(2023版)

12.MySQL高级篇

视频推荐:尚硅谷MySQL入门到高级-宋红康版_哔哩哔哩_bilibili

【Java笔记+踩坑】MySQL高级篇——存储引擎和索引

【Java笔记+踩坑】MySQL高级篇——索引的创建与设计原则

【Java笔记+踩坑】MySQL高级篇——性能分析工具

【Java笔记+踩坑】MySQL高级篇——索引失效的11种情况

【Java笔记+踩坑】MySQL高级篇——关联查询和子查询优化

【Java笔记+踩坑】MySQL高级篇——排序、分组、分页优化

【Java笔记+踩坑】MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计

【Java笔记+踩坑】MySQL高级篇——MVCC多版本并发控制

【MySQL调优汇总】MySQL高级篇——MySQL调优

【分库分表】一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

【阿里规约】阿里开发手册解读——数据库和ORM篇

【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

13.设计模式

创建型设计模式: 用于对象的创建

【尚硅谷Java笔记+踩坑】设计模式——七大原则

【Java笔记+踩坑】设计模式——设计模式介绍和单例设计模式

【Java笔记+踩坑】设计模式——工厂模式

【Java笔记+踩坑】设计模式——原型模式

结构型模式: 用于对象间的组合关系

【Java笔记+踩坑】设计模式——代理模式

行为型模式: 描述对象之间的通信和责任分配

【Java笔记+踩坑】设计模式——模板模式

【Java笔记+踩坑】设计模式——观察者模式

【Java笔记+踩坑】设计模式——责任链模式

14.JVM原理

【JVM模型】什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置

【字节码文件】JDK编译生成的.class字节码文件是什么?从底层结构到代码验证,深度解析Java字节码文件

【JVM调优】如何进行JVM调优?一篇文章就够了!

【类加载】Java的类是怎样在虚拟机中加载的?详细阐述JVM的加载、验证和解析过程

【垃圾回收算法】JVM的垃圾回收算法有哪些?从可达性分析算法开始,深入解读三大核心垃圾回收算法

15.编程规范

【阿里规约】阿里开发手册解读——命名规范篇

【阿里规约】阿里开发手册解读——代码格式篇

【阿里规约】阿里开发手册解读——数据库和ORM篇

16.性能调优、架构设计、技术进阶

【MySQL调优】如何进行MySQL调优?一篇文章就够了!

【JVM调优】如何进行JVM调优?一篇文章就够了!

【技术进阶】Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案

【技术进阶】HashMap底层原理:数据结构+put()流程+2的n次方+死循环+数据覆盖问题

【幂等性大坑】事务提交前释放锁导致锁失效问题

【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景

【Oracle和MySQL区别】从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL

【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

【JVM调优】如何进行JVM调优?一篇文章就够了!

【分库分表】一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

17.底层源码

【Spring源码】简化并手写Spring源码

【Spring源码】Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程

【Spring源码】Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存

【线程池源码】什么是线程池?从底层源码入手,深度解析线程池的工作原理

相关文章
|
18天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
44 3
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
|
18天前
|
JSON NoSQL Java
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
这篇文章介绍了在Java中使用Redis客户端的几种方法,包括Jedis、SpringDataRedis和SpringBoot整合Redis的操作。文章详细解释了Jedis的基本使用步骤,Jedis连接池的创建和使用,以及在SpringBoot项目中如何配置和使用RedisTemplate和StringRedisTemplate。此外,还探讨了RedisTemplate序列化的两种实践方案,包括默认的JDK序列化和自定义的JSON序列化,以及StringRedisTemplate的使用,它要求键和值都必须是String类型。
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
|
7天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
详细介绍实现Java Spring Boot FCM推送教程
25 0
|
2月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
2天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
14 2
|
7天前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
15 0
|
2月前
|
Java C++
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
这篇文章讨论了Java单继承的设计原因,指出Java不支持多继承主要是为了避免方法名冲突等混淆问题,尽管Java类不能直接继承多个父类,但可以通过接口和继承链实现类似多继承的效果。
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
|
2月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
2月前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。
|
2月前
|
Java
【Java基础面试三十八】、请介绍Java的异常接口
这篇文章介绍了Java的异常体系结构,主要讲述了Throwable作为异常的顶层父类,以及其子类Error和Exception的区别和处理方式。