我肝了一周,Java从基础到项目教程,Java全栈学习路线,帮你省去培训机构的2万块钱。

Posted 我是springmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我肝了一周,Java从基础到项目教程,Java全栈学习路线,帮你省去培训机构的2万块钱。相关的知识,希望对你有一定的参考价值。

最近好多小伙伴学习Java,问小孟要不要去培训机构?

小孟问:培训费多少钱?

小伙伴:2w。不过是贷款。

 

 真有钱,2w买个高配他电脑他不香吗,买些好的服务器它不香吗。

那如何进行学习,别着急,我整理全栈的Java学习路线。帮你吊打面试官。

首先是Java的知识点:

一阶段:JavaSE基础

第一步:夯实Java基础语法

1. Java语言的发展史

2. JDK的下载和安装

3. DOS命令的介绍和使用

4. Path环境变量的配置

5. 第一个代码HelloWorld案例

6. NotePad++软件的安装和使用

7. Java中的数据类型

8. 常量的使用

9. 变量的定义与使用

10. Java中代码的书写规范

11. 数据类型之间的转换

12. Java中的各种运算符操作

13. if分支语句的灵活使用

14. switch分支语句

15. for循环结构

16. while循环结构

17. do..while循环结构

18. 各种循环语句的区别和应用场景

19. 循环跳转控制语句

20. 嵌套循环的应用

21. 使用循环嵌套打印直角三角形

22. IDEA开发软件

23. 数组的动态初始化

24. 数组的访问格式

25. 数组的静态初始化

26. Java的内存划分和作用

27. 分析数组在内存中的存储

28. 方法的定义和调用

29. 方法的参数和返回值问题

30. 方法的重载(Overload)

31. 参数是基本类型和引用类型的区别

32. Debug断点调试的使用

第二步:接触面向对象基础

1. 类和对象的概述

2. 分析对象在内存中的存储

3. 成员变量和局部变量的区别

4. private关键字的应用

5. this关键字的应用

6. this关键字的内存原理

7. 面向对象特性之封装

8. 构造方法(Constructor)

9. 构造方法的注意事项

10. 标准类的定义规范

第三步:初识API基础

1. API的使用方式

2. String类的特点

3. String类的常用构造方法

4. 字符串的比较规则

5. 用户登录的案例

6. 遍历字符串的方式

7. 字符串的拼接

8. 字符串的反转操作

9. StringBuilder类的作用

10. StringBuilder类的构造方法

11. StringBuilder类的常用方法

12. 用StringBuilder完成字符串拼接和反转

第四步:初识集合基础

1. ArrayList集合的特点

2. ArrayList的构造方法

3. ArrayList的常用操作

4. 集合存储自定义类型并遍历

5. 学生管理系统的业务介绍

6. 学生管理系统的创建

第五步:掌握Git的使用

1. Git概述和特点

2. Git的下载安装

3. Git基本概念

4. Git操作入门

5. Git历史版本控制

6. Git分支版本控制

7. Git远程仓库的操作

8. Git远程托管平台应用(GitHub,码云)

9. Git解决冲突

10.IDEA中集成Git应用

11.Git常用操作命令

第六步:深入理解面向对象原理

1. 面向对象特性之继承

2. 继承的好处和弊端

3. super关键字的作用

4. 继承时子父类的访问特点

5. 方法的重写(Override)

6. package关键字的作用

7. import关键字的作用

8. final关键字的作用

9. static关键字的作用

10. static关键字内存分析

11. 面向对象特性之多态

12. 多态的好处和弊端

13. 多态中成员访问的特点

14. 多态中的数据类型转型

15. instanceof关键字的使用

16. 抽象类的特点

17. 抽象类的成员特点

18. 模板设计模式

19. 接口的概述

20. 接口的特点和注意事项

21. 类、抽象类、接口之间的关系

22. 内部类的概述

23. 成员内部类的使用

24. 局部内部类的使用

25. 匿名内部类的使用

26. 匿名内部类在开发中的应用

第七步:了解Web服务器

1.JavaEE规范概述

2.网络资源分析之静态资源和动态资源

3.系统结构分析之C/S和B/S

4.Tomcat概述

5.Tomcat下载与安装

6.Tomcat各版本所需支持

7.Tomcat启动及启动问题分析及解决

8.Tomcat目录结构详解|9.IDEA集成Tomcat

9.JavaEE工程概述

10.IDEA创建JavaEE工程

第八步:掌握异常

1. 异常的概述

2. JVM默认处理异常的方式

3. 异常处理方式之try..catch

4. 异常处理方式之throws

5. Throwable的常用方法

6. 异常的分类和区别

7. 异常的注意事项

8. 自定义异常的使用

第九步:掌握集合

1. 集合体系结构

2. 单列集合体系的详细讲解

3. 迭代器的使用

4. 增强for循环的使用

5. forEach方法遍历

6. 并发修改异常的产生原因和解决办法

7. 数据结构之栈和队列

8. 数据结构之数组和链表

9. ArrayList集合源码分析

10. LinkedList集合源码分析

11. 双列集合体系的详细讲解

12. Map集合的遍历方式

13. TreeSet的自然排序和比较器排序

14. 数据结构之树

15. 数据结构之二叉树

16. 数据结构之二叉平衡树

17. 数据结构之红黑树

18. TreeSet(TreeMap)底层源码分析

19. 数据结构之哈希表

第十步:掌握IO流

1. File类对文件的操作

2. IO流的概述和分类

3. 字节流写数据的方式

4. FileOutputStream和BufferedOutputStream源码分析

5. 字节流读数据的方式

6. FileInputStream和BufferedInputStream源码分析

7. 字节流完成视频文件的复制

8. 编码表

9. 字符流写数据的方法

10. 字符串读数据的方法

11. 字符缓冲流的使用

12. 字符缓冲流的特有方法

13. 标准输入输出流

14. 打印流的使用

15. 对象序列化流

16. serialVersionUID&transient

17. Properties的用法

18. 内存操作流的使用

19. RandomAccessFile使用

20. SequenceInputStream的使用

21. 压缩流/解压缩流

第十一步:深入理解多线程

1. 进程和线程的区别

2. Java实现多线程的三种方式

3. 线程API之线程名称

4. 线程API之线程休眠

5. 线程API之线程礼让

6. 线程API之线程优先级

7. 线程API之线程中断

8. 线程API之后天线程

9. 线程的安全问题

10. 同步代码块

11. 同步方法

12. Lock锁

13. 死锁概述以及现象演示

14. 死锁诊断(jstack工具的使用)

15. 线程通讯之生产者消费者问题

16. 线程通讯代码实现之同步代码块

17. 线程通讯代码实现之Condition实现通信|

18. 线程通讯代码实现之阻塞队列(BlockingQueue)实现

19. 线程的状态

20. 线程池概述

21. 自定义线程池

22. Executors创建线程池

23. ThreadPoolExecutor创建线程池

24. ThreadPoolExecutor原理介绍以及任务拒绝策略介绍

25. volatile关键字

26. JMM内存模型

27. 原子性概述

28. 原子类AtomicInteger类的使用

29. CAS算法

30. 并发容器ConcurrentHashMap原理讲解

31. 并发工具类(CountDownLatch,Semaphore,CyclicBarrier,Exchanger)的使用

第十二步:学习网络编程

1. 网络编程的概述

2. 网络编程的三要素之ip地址(ipv4,ipv6)

3. InetAddress类的操作

4. 网络编程的三要素之端口和协议的详细解释

5. 网络参考模型

6. UDP协议发送与接收数据

7. 聊天小程序案例

8. UDP协议中广播与组播

9. TCP协议发送与接收数据

10. 多线程下文件的上传

11. NIO概述

12. NIO之Buffer的使用

13. NIO之Channel的使用

14. NIO之Selector的使用

15. 自定义非阻塞式的HTTP静态服务器

第十三步:了解反射

1. 虚拟机类加载机制(概述,类加载过程,类的初始化时机)

2. 类加载器(概述,分类,双亲委派机制,ClassLoader类,自定义类加载)

3. 反射机制的概述

4. 获取Class类的对象

5. 反射获取构造方法并使用

6. 反射获取成员方法并使用

7. 反射获取成员变量并使用

8. 自定义非阻塞式的HTTP动态服务器

二阶段:数据库

第一步:熟练掌握MySQL基本操作

1. 数据库的概念

2. 常见的数据库软件

3. mysql数据库的安装卸载

4. MySQL数据库的登录退出

5. MySQL的目录结构

6. SQL语句的分类

7. 数据库和数据表的操作

8. 数据的添加(insert)

9. 数据的删除(delete)

10. 数据的修改(update)

11. 数据的查询(select)

12. 数据的复杂查询

13. 约束的使用

14. 多表关系(一对一、一对多、多对多)

15. 数据库的还原和备份

16. 多表查询操作

17. 事务介绍

18. 事务的隔离

19. 数据库的用户管理和权限管理

20.视图的使用

21.存储过程的使用

22.触发器的使用

23.存储引擎原理

24.索引高效查询

25.锁机制

26.数据库集群

第二步:了解JDBC

1.JDBC基本概述

2.JDBC入门和步骤分析

3.DriverManager详解

4.Connection详解

5.Statement详解

6.ResultSet详解

7.Driver接口介绍

8.JDBC的CRUD操作

9.SQL注入分析

10.PreparedStatement详解

11.JDBC的使用案例

12.连接池基础

13.自定义连接池

14.装饰者模式和默认适配器

15.代理模式-动态代理技术

16.C3P0连接池的使用

17.druid连接池的使用

18.Jdbc操作模板的封装-自定义JdbcTemplate

19.数据库中的元信息

20.策略模式的运用-结果集的封装处理器

三阶段:JavaWeb

第一步:了解HTML&CSS

1.html基本使用

2.HTML常用标签

3.CSS选择器

4.常用样式

5.盒子模型与布局

6.HTML5新特性

7.CSS3新特性

8. nginx服务器介绍

9. Nginx 下载和安装

10. Nginx 编译和启动、访问

11. Nginx中部署静态网站

第二步:深入理解Servlet底层原理

1.Servlet概述

2.Servlet编码步骤

3.Servlet执行过程分析

4.Servlet的实现方式分析

5.Servlet的类试图详解

6.Servlet的生命周期

7.Servlet的线程安全问题分析

8.Servlet的映射方式及优先级

9.Servlet的多路径映射

10.Servlet的启动时创建配置

11.默认Servlet

12.Servlet的配置对象ServletConfig

13.Servlet的上下文对象ServletContext

14.域对象概念

15.请求对象介绍

16.请求对象的生命周期

17.HttpServletRequest的常用方法

18.获取请求参数

19.BeanUtils详解

20.请求参数的乱码问题

21.请求转发的使用

22.响应对象介绍

23.HttpServletResponse的常用方法

24.响应的乱码问题

25.设置响应消息头的使用

26.重定向的概念和使用

27.请求转发和重定向的区别

第三步:了解Cookie&Session

1.会话管理概述

2.会话管理分类

3.Cookie概述和实现机制

4.Cookie的组成

5.Cookie的使用细节

6.Cookie的使用案例

7.HttpSession概述

8.会话域概念及使用场景分析

9.HttpSession的常用方法

10.HttpSession实现原理分析

11.客户端禁用Cookie的会话保持

12.HttpSession的钝化和活化

13.HttpSession的使用案例

第四步:了解JSP

1.JSP语法

2.JSP原理

3.JSP脚本片段&表达式

4.JSP声明&指令

5.JSP九大隐含对象

6.域对象使用

第五步:了解EL和JSTL

1.EL表达式简介

2.EL使用

3.EL取值原理

4.EL的11大隐含对象

5.EL执行运算

6.EL函数库

7.JSTL-核心标签库

8.JSTL-函数标签库

第六步:精通JavaScript

1.javascript嵌入方式

2. JavaScript基本语法

3. ECMA6新特性

4.JavaScript流程控制

5.数组、函数、对象的使用

6. JavaScript面向对象

7. 常用内置对象

8.JavaScript事件绑定/触发

9.JavaScript DOM操作及API

10.JavaScript BOM对象及API

第七步:了解JQuery

1.JQuery快速入门

2.JQuery语法详解

3.JQuery核心函数

4.JQuery对象/JavaScript对象

5.JQuery选择器

6.JQueryDOM操作

7.JQuery事件

8.JQuery动画效果

9.JQuery遍历

第八步:掌握Ajax

1.同步与异步应用场景

2.JS原生方式实现异步

3.JQuery方式实现异步

4.JSON数据格式介绍

5.JSON转换工具使用|

6. 异步实现分页案例

第九步:了解VUE

1.VUE概述

2.VUE入门案例

3.VUE模板语法

4.VUE的文本插值

5 .VUE的绑定属性

6 .VUE的条件渲染

7. VUE的列表渲染

8. VUE的事件绑定

9. VUE的表单绑定

10.VUE的组件

11.VUE的生命周期

12.VUE的axios异步

13.VUE与Element整合案例

第十步:熟悉Redis

1.NoSQL&Redis入门

2.Redis优势

3.Redis安装&启动

4.Redis五大数据类型和基本操作命令

5.Redis总体配置Redis.conf

6.Redis持久化(RDB和AOF)

7.Jedis

8. Redis数据删除策略

9. Redis数据淘汰策略

10.集群主从复制

11.集群哨兵模式

12.企业级解决方案

四阶段:框架进阶

第一步:掌握Spring

1.框架简介

2.Spring概述

3.耦合与解耦

4.工厂设计模式

5.IoC概述及作用

6.Spring基于XML的IoC配置入门

7.Spring基于XML的IoC配置详解

8.依赖注入的概念

9.Spring中的依赖注入

10.Spring中多配置文件配置及问题分析

11.Spring基于XML和Mybatis的整合

12.Spring基于注解的IoC配置

13.常用注解的使用

14.Spring整合Junit

15.Spring高级分析之-IoC容器说明

16.Spring高级分析之-组件扫描器TypeFilter

17.Spring高级分析之-Import注解和自定义导入器

18.Spring高级分析之-BeanFactoryPostProcessor

19.Spring高级分析之-BeanPostProcessor

20.Spring高级分析之-InitializingBean

21.Spring高级分析之-FactoryBean

22.AOP编程思想,作用,优势及实现原理分析

23.代理模式和动态代理实现AOP思想的案例

24.Spring中的AOP简介和常用术语

25.Spring基于XML的AOP配置

26.5种通知类型分析

27.切入点表达式详解

28.Spring基于注解的AOP配置

29.Spring中AOP的高级分析之-EnableAspectjAutoProxy注解的解析分析

30.Spring中AOP的运行期增强的执行过程分析

31.Spring中事务的API详解

32.Spring基于XML的事务配置

33.Spring基于注解的事务配置

34.Spring事务高级分析之-TransactionTemplate源码分析

35.Spring事务高级分析之-DataSourceUtils源码分析

36.Spring事务高级分析之-TransactionSynchronizationManager源码分析

37.Spring事务高级分析之-TransactionEventListener注解的加载过程分析

38.Spring中的模板对象介绍

39.JdbcTemplate和NamedParameterJdbcTemplate的使用

40.RedisTemplate的使用|41.Spring事务设计的设计模式分析

第二步:掌握SpringMVC

1.SpringMVC概述

2.SpringMVC基于XML的环境搭建

3.SpringMVC基于Servlet3.0规范的纯注解环境搭建

4.纯注解环境搭建的入门案例执行过程分析

5.SpringMVC常用组件介绍

6.SpringMVC的 @RequestMapping注解详解

7.SpringMVC中的请求参数封装

8.SpringMVC中的表单校验相关注解

9.SpringMVC中和ServletAPI相关的注解使用详解

10.SpringMVC中控制器方法的返回值详解

11.SpringMVC中的异步交互和相关注解介绍

12.Rest风格URL详解

13.@PathVariable注解详解

14.Postman工具

15.跨域访问详解和 @CrossOrigin注解的使用

16.SpringMVC中的请求参数封装源码分析和运用的设计模式介绍

17.SpringMVC中的父子容器

18.SpringMVC中的异常处理

19.SpringMVC中的拦截器使用

20.SpringMVC中的文件上传|21.Spring SpringMVC Mybatis的整合

第三步:掌握MyBatis

1.概述

2.4MyBatis的快速入门

3.源码剖析

4.全局配置文件详解

5.映射配置文件详解

6.的相关API

7.增删改查案例

8.参数深入

9.结果集封装

10.连接池与事务深入

11.动态sql语句

12.多表查询

13.延迟加载策略

14.的注解开发

15.新增@SelectProvider@UpdateProvide

16.新增@InsertProvider@DeleteProvide

17.新增分页插件

18.新增学生系统改造

19.两种方式实现CRUD

20.日志集成

第四步:掌握Maven基本操作

1.Maven环境搭建

2.Maven构建&自动化构建

3.本地仓库&中央仓库

4.Maven创建Java、Web工程

5.pom.xml、依赖管理

6.坐标、依赖、生命周期等

7. IDEA下的Maven使用

8. pom文件依赖传递介绍

9. 依赖冲突的解决

10. Maven项目继承的关系

11. Maven项目聚合的关系

12. 分模块搭建聚合项目

13. 私有服务器仓库介绍和搭建

14. 本地资源上传到私有服务器

15. 从私有服务器下载资源到本地

16. 安装第三方资源到本地仓库

17. 安装第三方资源到私有服务器仓库

18. Maven多环境开发

19. 单元测试

20. 自定义插件

第五步:了解Zookeeper

1、初识ZooKeeper

2、ZooKeeper数据模型

3、ZooKeeper安装与配置

4、日志可视化

5、ZooKeeper常用命令(服务器、客户端命令)

6、ACL常用命令

7、四字常用命令

8、ZooKeeper集群搭建

9、ZooKeeper12306售票实战

10、Observer使用

11、ZooKeeper机制讲解(ZooKeeper选举、ZooKeeper脑裂效应等)

第六步:了解Dubbo

1.软件架构的演进过程

2.Dubbo简介

3.Dubbo架构

4.Dubbo服务提供方开发

5.Dubbo服务消费方开发

6.Dubbo-admin使用

7.Dubbo相关配置说明

8、监控中心

9、升级版Dubbo-admin使用

10、12种Dubbo高级特性

11、架构原理

12、工作原理与服务治理

13、心跳与通信

14、支持的注册中心和协议

第七步:掌握Spring Boot

1. SpringBoot介绍

2. SpringBoot的核心功能

3. SpringBoot的优势

4. SpringBoot入门程序

5. 起步依赖原理分析

6. 自动配置原理解析

7. 自定义起步依赖并实现自动配置

8. SpringBoot配置文件类型

9. 配置文件与配置类的属性映射方式

10. SpringBoot整合Mybatis

11. SpringBoot整合Junit

12. SpringBoot整合Redis

13. 自定义Starter

14. 事件监听

15. 初始化流程

第八步:了解RocketMQ

1、RocketMQ概述

2、搭建RocketMQ

3、RocketMQ-Console管理控制台

4、RocketMQ模式

5、SpringBoot 整合 RocketMQ

6、集群安装部署

7、基于MQ的分布式事务解决方案说明

第九步:掌握Spring Cloud

1. SpringCloud介绍和Dubbo对比

2. 服务注册中心Eureka介绍

3. Eureka服务端开发

4. 微服务开发并注册到Eureka服务注册中心

5. Eureka保护模式介绍

6. 客户端负载和服务端负载的介绍

7. Ribbon实现客户端负载均衡

8. Feign的介绍和实现

9. Feign工作原理和注意事项

10. 雪崩效应与熔断器介绍

11. 熔断器Hystrix使用

12. 网关介绍

13. 基于Gateway构建网关服务

14. 通过Gateway网关访问微服务

15. Spring Cloud Config介绍

16. 使用Git存储的方式实现配置管理

17. 微服务改造从配置中心获取配置信息

18. 服务总线Spring Cloud Bus介绍和应用

19、Eureka集群|20、Eureka Web介绍

21、Consul服务治理与配置管理

22、Nacos动态服务发现与配置管理

23、Sleuth链路追踪

24、Zipkin展示

25、config本地读取

26、Stream消息驱动

27、微服务Docker部署

第十步:了解Docker

1. Docker简介

2. 容器与虚拟机比较

3. Docker的安装和启动

4. Docker镜像命令介绍和应用

5. Docker容器命令介绍和应用

6. Docker部署Mysql

7. Docker部署Tomcat

8. Docker部署Nginx

9. Docker部署Redis

10. 容器保存转为镜

11. 镜像备份

12. 镜像恢复和迁移

13. Dockerfile介绍和常用指令

14. Docker Compose 常用命令

15. Docker私有仓库使用

五阶段:数据结构与算法

第一步:了解数据结构

1. 顺序表

2. 链式表

3. 合并链表

4. 循环链表

5. 双向链表

6. 多项链表合并

7. 顺序栈

8. 栈的应用

9. 循环队列

10. 链式队列

11. 串的堆分配

12. 数组

13. 矩阵压缩

14. 矩阵压缩

15. 树

16. 图

17. 查找

18. 排序

也可以根据图来,看着思维导图学习更加的方便:

思维导图:

思维导图下载

servlet学习:

 

servlet学习【视频教程+源码】

SSM学习:

 

SSM商城学习【视频教程+源码】

SpringBoot学习:

SpringBoot+Vue的视频加源码学习【视频教程加源码】

SpringCloud学习:

 

springcloud学习【视频教程+源码】

数据结构学习:

 

数据结构学习

当然还需要进行刷leetcode的题:

Leetcode题目

上面的搞完后,我变秃了,也变强了,

 

你去培训机构的话,也基本就是这样学习。

上次有个培训机构的老师买我的项目,他说我的这些项目一个项目可以讲一个月。

你去培训机构2w学习,现在白嫖他不香吗?

 最后,祝你早日成为大神。

来个赞,做个点赞好友。

加油奥利给。

 

 

以上是关于我肝了一周,Java从基础到项目教程,Java全栈学习路线,帮你省去培训机构的2万块钱。的主要内容,如果未能解决你的问题,请参考以下文章

耗时一个月,我肝了一个满是细节的Java学习路线,适用程序员入门&进阶

耗时一个月,我肝了一个满是细节的Java学习路线,适用程序员入门&进阶

我肝了一个月,给你写出了这本 Java 开发手册。

我肝了一个月,给你写出了这本Java开发手册。

我肝了整整一年才肝出来这份 Java 并发的系列文章,无私奉献给你们

JVM肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!