我个人是在校大学生,专业也不是软工,计算机之类的。想自学Java,网上找了许多Java后端学习路线的。找一个比较详细的,具体请看b站韩顺平的讲解https://www.bilibili.com/video/BV14K4y177Qk。
Java后端技术大致分为十个阶段:Java基础,Java高级,Javaweb,主流框架和项目管理相关的技术,分布式微服务并行架构包括哪些知识,自动部署项目和项目的管理(DevoOps开发维护一体化),大数据,项目,大厂面试题,底层源码和内核研究。
1.第一部分:Java基础
(1)变量
(2)控制结构(顺序结构、分支结构、循环结构)
(3)OOP(封装、集成、多态)
(4)数组
(5)Java API
(6)异常和处理
(7)集合
(8)泛型
(9)IO
(10)反射
(11)网络通信
2.第二部分:Java高级
(1)Java多线程/高并发(重点)
①并发基础:互斥同步,非阻塞同步,指令重排,synchronized,volatile
②线程
③锁:自旋锁,偏向锁,可重复锁
④线程池
⑤并发容器
⑥JUC:executor\collection\locks\atomic(原子类)\tools(CountDownLatch\Exchanger\ThreadLocal\CyclicBarrier)
(2)数据结构与算法
①数据结构
a.数组
b.队列
c.栈
d.链表
e.散列
f.堆
g.图
②算法:
a.排序
b.查找
c.分治
d.动态规划(背包问题)
e.回溯(骑士周游问题)
f.贪心算法
g.KMP
h.prim
i.kuskal
j.flovd-最短路径
k.地杰斯特拉-最短路径
③设计模式(23种),常用8种:
a.单例模式
b,观察者模式
c.工厂模式
d.适配器模式
e.装饰者模式
f.代理模式
g.模板模式
h.职责链模式
i.其它(组合模式、桥接模式、原型模式)
④JVM:
a.JVM体系
b.类加载过程机制
c.双亲委派机制/沙箱安全机制
d.JVM(java内存模式)
e.字节码执行的过程、机制
f.GC(垃圾回收算法)
h.JVM性能监控和故障定位
i.JVM调优
3.第三部分:JavaWeb
①前端基础
a.HTML
b.CSS
c.Javascript
d.Ajax
e.Jquery
②前端框架(可以弱化)
1.VUE
2.React
3.Angular
4.bootstrap
5.Node.js
③java web后端(重点)
1.Tomcat
2.Servlet
3.Jsp(弱化)
4.动态网页引擎
4.第四部分:主流框架和项目管理
①Linux(操作系统,必学必会)
②Nginx(做反向代理的web服务器)
③SSM
1.Spring
2.SpringMVC(分层的web开发框架)
3.MyBatis(持久化框架)
④项目管理
1.Git&Github
2.SVN
⑤数据库
1.Radis(优化)
2.Mysql
3.Orcal
⑥其他框架
1.WebService(即SOA)
2.Activiti(工作流程框架、工作流引擎)
3.Spring security(安全框架)
4.JPA(持久化)
5.SpringData(持久化的通用解决方案)
5.第五部分:分布式 微服务 并行架构
①Netty
②Dubbo(Alibaba开源的PEC框架)
③FastDFC(分布式的文件系统)
④Spring家族
1.SpringBoot
2.SpringClood(组件很多)
(1)Nacos(Alibaba支持服务发现,配置服务,管理)
(2)Seata(Alibaba分布式事务的中间件)
(3)Sentiel(Alibaba 流量控制,熔断,系统负载保护)
(4)GateWey(网关 限流 日志 监控 鉴权)
(5)OpenFegin(服务器调用)
(6)eruak(注册中心):补
⑤搜索引擎
1.ElasticSearch
2.Solr
⑥中间件
1.MyCat(数据库中间件,分布分表)
2.消息中间件
(1)ActiveMQ
(2)RabbitMQ
(3)kafka
⑦日志分析与监控(ElK)
(1)ElasticSearch(搜集,存储数据)
(2)LogStash(分析日志)
(3)Kibana(可视化)
⑧Zookeeper(抑制性服务:比如:配置维护,域名维护,分布式同步)
6.第六部分:DevOps(开发运维一体化) 自动化部分管理项目,解决CI/CD
①k8s(让部署容器化的应用简单高效)
②普罗米修斯(prometheus)【系统监控和报警】
③Jenkis(监控持续的工作)【部署,集成,交付】
④Harbor(容器的镜像仓库)
⑤GitLab
⑥项目工程代码质量检测(sonarqube)
7.第七部分:大数据技术(可以弱化)
①Hadoop
②Hive
③Impals
④spark
⑤fink
8.第八部分:项目
①电商
②金融
③教育
④直播
⑤CRM,ERP
9.第九部分:大厂的高频面试题
10.第十部分:底层源码和内核研究