jjzjj

bilibili 韩顺平Java后端学习路线

马小劲 2023-05-21 原文

Java后端学习路线

Java后端技术阶段概括

java后端技术路线是一个相对完整的学习路线,所以大家不用把所有的都学完再去找工作,不用这样子,其实你只要学到第四个,第五个阶段,再做一些项目,再刷一些题,其实就可以开始准备找工作了

第一部分: Java基础

变量、

控制结构

顺序

分支

循环

OOP

封装

继承

多态

数组

Java API

异常和处理

集合

泛型

IO

反射

网络通信

第二部分: Java高级

多线程/高并发(面试)

并发基础

互斥同步、非阻塞、指令重排、synchronized、volatile

线程

自旋锁、偏向锁、可重入锁

线程池、并发容器

JUC(Java提供的并发工具)

executor

collections

locks

atomic(原子类)

tools(CountDownLatch,Exchanger,ThreadLocal,CyclicBarrier)

数据结构和算法

数据结构(八种常见的)

数组(稀疏数组)、队列、栈、链表、树、散列、堆、图

算法(常见的)

排序、查找、分治、动态规划(最经典的:背包问题)、回溯(骑士周游问题)、贪心算法、KMP、Prim、Kruskal、最短路径(floyd、迪杰斯特拉)

设计模式(常用的八种)

单例模式、观察者模式、工厂模式、适配器模式、装饰者模式、代理模式、模板模式、职责链模式、其他(组合模式、桥接模式、原型模式)

Jvm

JM体系、类加载过程/机制、双亲委派机制/沙箱安全机制、JMM(Java内存模式)、字节码执行的过程/机制、GC(垃圾回收算法)、JVM性能监控算法和故障定位、JVM调优

第三部分: JavaWEB

前端基础

Html、Css、JavaScript、Ajax、Jquery

前端框架(做后台可以对此部分弱化)

Vue、React、Angular、Bootstrap、Node.js

Java Web后端

Tomcat、Servlet、JSP

第四部分: 主流框架和项目管理

Linux(必学,必会)

Nginx(做反向代理)

SSM

Spring(轻量级的容器框架)

SpringMVC(分层的Web框架)

MyBatis(持久化框架)

项目管理

Maven

Git&GitHub

SVN

数据库

Redis

MySql

Oracle

其他框架

WebService(面向服务编程的框架,简称SOA)

Activity(工作流框架/引擎)

Shiro(安全框架)

Spring Security(安全框架)

JPA(持久化)

SpringData(持久层的通用解决方案)

第五部分: 分布式 微服务 并行架构

Netty

Dubbo(RPC框架)

FastDFS(分布式的文件系统)

Docker(应用容器引擎)

Spring家族

SpringBoot

SpringCloud

Nacos(阿里巴巴开发的、支持服务发现、配置管理的组件)
Seata(阿里巴巴开发的、分布式事务的中间件)
Sentinel(阿里巴巴开发的、流量控制、熔断、系统负载保护)
GateWay(网关、限流、日志、监考、鉴权)
OpenFeign(服务间调用)

搜索引擎

ELasticSearch

Solr

中间件

MyCat

数据库中间件、分库分表

消息中间件

ActiveMQ

RabbitMQ

KafKa

日志分析与监控(ELK)

ElasticSearch(搜集、存储数据)

LogStash(分析日志)

Kibana(可视化)

Zookeepr(一致性服务:比如配置维护、域名维护、分布式同步)

第六部分 : DevOps(开发运维一体化,解决CI/CD)

K8s

让部署容器化的应用简单高效

普罗米修斯(Prometheus)

系统监控和报警

Jenkins

监控持续的工作(部署、继承、交付)

Harbor(容器的镜像仓库)

GitLab(代码托管、管理)

SonarQube(项目工程代码质量检测)

第七部分 : 大数据(可以弱化)

Hadoop

Hive

Impals

spark

flink

第八部分: 项目

至少做三个以上的项目:

电商、金融、教育、直播、CRM/ARP

第九部分: 大厂的高频面试题

第十部分: 底层源码/内核研究

编程基础拓展

计算机网络

操作系统

编译原理

离散数学

数值分析

计算机组成原理

汇编语言

有关bilibili 韩顺平Java后端学习路线的更多相关文章

  1. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  2. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  3. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  4. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  5. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  6. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  7. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  8. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  9. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  10. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

随机推荐